如何解决在 MassTransit 中使用 Kafka 骑士进行异常处理
在 MassTransit 中,当使用 RabbitMQ 之类的传输时,当抛出异常时,消息进入队列 queue_name_error
。但是使用Kafka,没有_error
后缀的topic,也没有类似的队列支持传输。 Kafka和MassTransit如何正确处理异常,哪里可以找到错误消息?
解决方法
由于 Kafka(和 Azure 事件中心)本质上是带有精美 API 的日志文件,因此不需要 _error 队列,因为无论如何都没有队列。也没有死信。因此,将故障消息移至 _error 的 MassTransit 内置错误处理不适用(也没有意义)。
您可以使用带有主题端点的重试中间件(UseMessageRetry 等)来处理暂时性异常。您还可以记录有害消息的偏移量来处理它们。偏移量不会改变,消息会保留在主题中,直到到期。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。