异步消息组件处理消费失败时,一般都有重试机制,对于重试理解的透彻程度可以部分反映你"结果导向"这个道的高度。不展开讲解就列几个问题大家自己去思索:
该消息的消费处理逻辑是幂等的么?这决定是否可以重试;
该消息消费失败后,是否有必要重试?有些消息体若必要参数缺失,你重试一万次也不可能成功;
该消息消费最终失败,导致的数据不一致怎么处理?有人说在最终失败时再想办法把这个消息持久化存储在某个地方就可以了。
结果导向的问题来了:持久化存储的数据,你会多久去看一次?有主动修复的机制么?如何保证时效性?
Read full article from 技术琐话
No comments:
Post a Comment