微服务工作流监控与事务处理
1. 编排式工作流监控
在监控编排式工作流时,需要考虑其规模和范围。分布式编排式工作流单独来看,很难辨别特定事件的处理进度。对于事件驱动系统,监控关键业务工作流可能需要监听每个输出事件流,并将其具体化到状态存储中,以查明事件可能在何处处理失败或陷入处理停滞。
例如,修改工作流顺序可能需要同时更改工作流可见性系统。这假设观察者关心该工作流中的每个事件流,并希望了解每个事件的所有信息。但如果对工作流中的某些事件流不感兴趣呢?对于跨整个组织的工作流又该如何处理?
以大型跨国在线零售商的订单履行流程为例。客户查看商品、选择购买、付款并等待发货通知。支持此客户工作流可能涉及数十甚至数百个服务。对该工作流的可见性将因观察者的需求而异。
- 客户可能只关心订单从付款到履行再到发货通知的进展情况。可以通过从三个独立的事件流中提取事件来合理监控这一点。由于其“公共”性质和消费的事件流数量较少,它对变更具有足够的弹性。
- 而要查看完整的端到端工作流,则可能需要从数十个事件流中消费数据。由于事件量和事件流的独立性,这可能更具挑战性,特别是当工作流经常变化时。
务必明确在编排式工作流中要展示的内容。不同的观察者有不同的需求,并非工作流的所有步骤都需要明确暴露。
2. 编排模式
在编排模式中,中央微服务(编排器)向从属工作微服务发出命令并等待响应。编排可以类比为音乐管弦乐队,在表演期间由单一指挥指挥音乐家。编排器微服务包含给定业务流程的整个工作流逻辑,并向工作微服务发送特定事件以告知它们要执行的操作。
编排器等待受指示微服务的响应,并根据工作流逻辑处理结果。这与编排式工作流
超级会员免费看
订阅专栏 解锁全文
1156

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



