Toggle navigation
面试宝典
架构师课程
开源
文章
博客
SpringCloud
CloudAlibaba
SpringBoot
Spring Boot1.X
Spring Boot2.X
关于
登录
|
注册
支付宝扫一扫帮助发展吧~
微信扫一扫帮助发展吧~
嘘!异步事件这样用真的好么?
尹吉欢
2020-06-29 13:20:57.0
0条评论
4263人阅读
版权声明:转载请先联系作者并标记出处。
java
点击阅读全文
扫描下方二维码,加入Java方向技术交流讨论群。暗号:加群
去注册
去登录
登录后发表
去注册
去登录
登录后发表
## 故事背景 今年年初的时候写了一篇文章 [《围观:基于事件机制的内部解耦之心路历程》](https://mp.weixin.qq.com/s/kfrTWkIVMSDjEpMR54pMlQ)。这篇文章主要讲的是用 ES 数据异构的场景。程序订阅 Mysql Binlog 的变更,然后程序内部使用 Spring Event 来分发具体的事件,因为一个表的数据变更可能会需要更新多个 ES 索引。 为了方便大家理解我把之前方案的图片复制过来了,如下: ![](http://file.cxytiandi.com/RvCQxhO5Uah4iWbF.png) 上图的方案存在一个问题,就是我们今天文章要聊的内容。 这个问题就是当 MQ Consumer 收到消息后,就直接发布 Event 了,如果是同步的,没有问题。如果某个 EventListener 中处理失败了,那么这条消息将不会 ACK。 如果是异步发布 Event 的场景,发布完消息马上就 ACK 了。就算某个 EventListener 中处理失败了,MQ 也感知不到,不会进行消息的重新投递,这就是存在的问题。 ![](h
首次访问,人机识别
扫描下方二维码回复
王老吉
获取解锁验证码
步骤:[ 打开微信 ]->[ 扫描上方二维码 ]->[ 关注
猿天地
的公众号] 输入
王老吉
获取验证码,即可永久解锁本站全部文章。
验证码:
(请输入)
提交