有没有一种方法来实现一个断路器模式与弹簧卡夫卡的基础上的消费者。我想知道,在实现我的Spring用户时,如果基于某个外部系统处理数据失败并引发网络错误,是否有可能停止使用记录。然而,如果网络问题得到解决,消费者应该再次正常处理。
发布于 2020-02-17 06:43:35
如果您想在下游服务或DB关闭时停止使用消息,则可以引用此解决方案。
示例
在这种情况下,您可以在服务A上设置断路器,当外部服务B关闭时,这个电路就会打开。然后,在此断路器的状态转换时,调用您的侦听器/绑定(如果您使用的是spring云流)来停止/暂停使用者。因此,您的消息将停留在队列/主题上,直到断路器再次关闭&您不必死信消息或将它们放入错误队列/主题。
您可以参考下面的链接获得详细的解决方案,该解决方案使用Resilience4j 进行断路器实现,和用于消费。
发布于 2018-05-31 11:30:28
重试与死信队列(DLQ)是一个很好的模式处理消费者的失败,断路器模式是很好的处理生产者的问题。
https://stackoverflow.com/questions/48059981
复制相似问题