一个关于微服务架构和monolithic架构的讨论
As you mentioned Orchestra just acts as a router, and I prefer to call it as “API gateway”, or the one in “Facade design pattern”. Every time when we introduce a new micro service, the service has to first register itself in Orchestra. Then Orchestra becomes the bottleneck of the whole solution – every micro service has the tight dependency on it. If the orchestra crashes, the whole scenario will not work.
I would assume a typical micro service can provide access to external consumer in a standalone way, which is not true in current design – it is not possible for other consumer to directly call QR code service or Account creation service, which does not look like a real microservice style to me.
So can we fine tune the current design a little bit, as I also mentioned during our meeting? That is:
we still keep the WebSocket servers – the Diablo App / Web shop only knows their corresponding web socket servers and that’s all. No microservice is visible to Diablo App or Web shop.
We develop standalone microservice which is consumed by WebSocket server via HTTP.
In this case we still keep the flexibility and extensibility for future.
要获取更多Jerry的原创文章,请关注公众号"汪子熙":
相关文章
- 第一章·企业集群架构概述
- Spring Cloud 的微服务架构学习及实践(十七)
- 大牛带你实时解读微服务架构改造案例:天气预报系统的架构设计
- 微服务架构开发实战:什么是微服务的熔断机制和熔断的意义
- 云计算服务架构任务池与指令池的搭建和使用,RabbitMQ消息队列
- Consul 的多数据中心架构配置
- 用于管理复杂微服务架构的技术详解架构师
- 极致优化:建立Oracle EBS架构(oracleebs架构)
- MSSQL高可用架构:保障安全可靠运行(mssql高可用配置)
- 微服务架构下的Redis部署实践(微服务redis部署)
- 解放你的手微服务架构下的Redis事务锁(微服务redis事务锁)
- MySQL的分布式架构三主三从图解(mysql三主三从架构图)
- 突破亿级并发,建立更强支撑的Redis架构(亿级并发redis架构)
- 架构升级多服务共享Redis服务(多服务共用redis)
- 基于Oracle分布式架构的SMC0实现(oracle smco)
- 架构Redis集群仅单台服务器的架构(redis集群单数台)
- Oracle12c引入新一代内存数据库架构(oracle12c内存库)