微服务架构:从单体应用重构到应对常见挑战
1. 单体应用重构为微服务架构
将单体应用重构为微服务架构(MSA)时,我们可以从单体应用的功能构建微服务,识别单体应用中的数据访问,并将单体应用分解为独立的微服务,每个微服务都有自己的数据库。
在ABC - MSA系统中,请求分解是关键步骤。其工作流程如下:
- 用户通过Web界面启动订单履行流程,这将触发编排器的工作流。
- 编排器同时启动 place_order 和 check_inventory 服务。 place_order 服务创建订单并将其状态标记为待处理,等待后续工作流处理; check_inventory 服务检查所订商品的库存,并根据商品是否可用返回 true 或 false 。
- 如果所订商品中有任何商品不可用,将触发 web_msg_notification 、 email_notification 和 sms_notification 服务。
然而,这三个通知服务都需要访问 CUSTOMER 数据库以获取客户的姓名、电子邮件地址、电话号码等信息。为避免服务耦合,我们需要在所有服务中创建 CUSTOMER 数据库的副本。 CUSTOMER 数据库主要由 register_customer 服务管理,编
超级会员免费看
订阅专栏 解锁全文
171万+

被折叠的 条评论
为什么被折叠?



