flo*_*olu 9 gateway message-queue cqrs event-sourcing microservices
我想知道我的两种方法中哪一种更合适,或者还有另一种方法吗?
UI发送HTTP请求到GATEWAYGATEWAY发送HTTP请求到?SERVICE A?SERVICE A返回SUCCESS或ERROREVENT STORE并发布到QUEUEPROJECTION DATABASE 已更新?SERVICES可能消费事件UI发送HTTP请求到GATEWAYGATEWAY 发布事件到 QUEUE?SERVICE A 消费事件EVENT STORE并发布到QUEUEPROJECTION DATABASE 已更新?SERVICES可能消费事件GATEWAY消费事件并将响应(SUCCESS或ERROR)发送到UI如果我误解了一些概念,我真的很抱歉,我对这种建筑风格比较陌生。
在此先感谢您的帮助!:)
第二种方法是首选方法,是异步方法。
直接的
在第一种方法中,您的 microsvc B 和 C 等待事件发布。这个系统的可扩展性直接依赖于 microsvc A。如果 microsvc A 宕机或落后于将事件写入队列怎么办?这就像单点故障和瓶颈。您无法轻松扩展系统。
活动
在微服务中,我们保持系统异步以便它们可以扩展。网关应该使用 pub/sub 写入队列,并且所有这些微服务都可以同时使用事件。整个系统更加健壮并且可以扩展。
| 归档时间: |
|
| 查看次数: |
1785 次 |
| 最近记录: |