【发布时间】:2017-09-08 17:50:49
【问题描述】:
我已经阅读了很多关于微服务架构的内容,但有一件事我不明白如何实现,希望您能帮助我...
假设我有一个 web-api-endpoint 接收 OrderMicroservice 负责处理的订单。下订单时,必须更新库存,以便 OrderMS 向订阅者发布事件(使用例如 Nats 发布/订阅),并且 InventoryMS 将更新库存,因为它正在订阅当前事件/消息....我想要一个松散的耦合架构并使用对给定信息感兴趣的模块/MS的异步调用。
如果您有 1 个 InventoryMS 实例,给定场景将工作得非常好,但如果您水平扩展 InventoryMS 会发生什么,即有 5 个 InventoryMS 实例并且所有实例都订阅 inventory.change.event 并尝试更新库存?
对于像这种横向称为 MS 的场景,我应该使用哪种架构或消息模式,这样当 MS 相互依赖时,我可以拥有松散耦合的架构? 一种方法是内部通信是通过使用断路器模式的 REST 调用进行的,但后来我觉得我构建了一个具有一定智能的 MS 单体(断路器)......
感谢您的帮助!
【问题讨论】:
标签: design-patterns architecture message-queue microservices