如何在事件驱动/消息队列微服务上传播异常



微服务之间的HTTP调用中,将异常传播到调用方/前端非常简单。

但是如何在事件驱动/消息队列上传播异常(即。RabbitMQ(微服务到调用方/前端?

我会推荐Cadence Workflow,它是更强大的微服务编排解决方案,并提供开箱即用的长时间运行操作的异常处理传播。

与为您的用例使用队列相比,它提供了许多其他优势。

  • 构建了具有无限过期间隔的指数级重试
  • 支持长时间运行的检测信号操作
  • 能够实现复杂的任务依赖关系。例如,在发生不可恢复故障时实现呼叫链或补偿逻辑 (SAGA(
  • 提供对更新当前状态的完整可见性。例如,使用队列时,您只知道队列中是否有一些消息,并且需要额外的数据库来跟踪整体进度。使用Cadence记录每个事件。
  • 能够在飞行中取消更新。

请参阅介绍 Cadence 编程模型的演示文稿。

最新更新