小编Dav*_*ell的帖子

微服务 Saga 模式消费者等待响应

我想澄清组织架构的最佳方式是什么。

我有休息 api 和微服务架构。我已经应用了每个服务模式的数据库。

所以让我们想象一下用户想要创建一个订单(一个电子商务系统)。但是用户可以有信用额度。所以流程如下:

  • OrderService 创建一个挂单。然后推送一个关于它的事件。

  • UserService 处理该事件并发布超出信用额度事件或信用保留事件。

  • OrderService 接收事件并将订单的状态更改为已批准或已取消。

一切看起来都不错。但问题是用户在这个简单的流程中会做什么?我的意思是:用户发出 POST 请求 /orders 和 ...

  1. Web 服务等待订单获得批准或取消(包括肯定超时)?
  2. Web 服务返回 200 ok 然后用户需要每隔一段时间检查订单状态?
  3. 使用网络套接字?
  4. 还有什么?

不幸的是,上面的任何选项都有其优点和缺点。

挑战在于我描述了最简单的情况。实际上,可能涉及数十个服务(甚至第三方)。当然,我期待高负载。所以队列可能被填满。

请提出解决方案进行讨论。我非常感谢答案以及指向生产就绪系统文档的链接。

rest events event-driven saga microservices

8
推荐指数
1
解决办法
850
查看次数

标签 统计

event-driven ×1

events ×1

microservices ×1

rest ×1

saga ×1