↑ 点击上面 “时代Java”关注我们,
关注新技术,学习新知识!
什么时候使用消息队列?
简单来说,3个关键词, 异步/消峰/解耦,可以理解为:
我做完了后面的我不管了
工作太多了,先放一放我慢慢处理
怎么产生的我不管/怎么处理我不管
以下图为例:
用户提交评论中, 写入数据库后,存在需要捕捉评论事件的多个逻辑步骤。如果在接口处理过程中,顺序的处理不同的步骤,非常繁琐。我们可以批量的通知各个步骤(异步),无需返回直接处理当次的支付其他逻辑(解耦)。看起来就清爽多了,另外,消息队列也可以作为缓存暂存发出的消息,不再需要考虑调用各个步骤时时延逻辑的异常场景。
本文以讲解kafka中的可靠性设计为例,其它消息队列的选型暂不涉及。