您现在的位置是:首页 > 文章详情

突破Java面试(9)-如何保证消息队列的顺序性

日期:2019-06-25点击:510

0 Github

1 面试题

如何保证消息的顺序性?

2 考点分析

MQ必问话题

  • 考察你是否了解顺序性
  • 考察你是否有办法保证消息的顺序性,因为这是生产系统中常见的一个问题.

3 详解

3.0 案例

一个MySQL binlog同步系统,日同步数据达到上亿.

  • 在MySQL里增删改一条数据
  • 即对应出增删改3条binlog
  • 接着这三条binlog发送到MQ里面
  • 消费出来依次执行

应该得保证消息按照顺序执行的吧!
不然本来是:增加->修改->删除
你楞是换了顺序给执行成:删除->修改->增加
全错!!!

该数据同步过来,最后本该被删除,结果你搞错顺序,最后它却被保留下来了,数据同步出错!

3.1 顺序错乱的场景

3.1.1 rabbitmq

一个queue,多个consumer,这不明显乱了

3.1.2 kafka

一个topic,一个partition,一

原文链接:https://yq.aliyun.com/articles/706492
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章