开发者社区 > 云原生 > 中间件 > 正文

EventBridge同一个事件源产生的事件,在同一个事件规则中,事件被事件目标消费是有顺序性的吧?

EventBridge同一个事件源产生的事件,在同一个事件规则中,事件被事件目标消费是有顺序性的吧?会不会出现同一个事件因为异常某种原因被发送到事件中心里两次,消费目标会同时处理这两个事件的情况?

展开
收起
真的很搞笑 2023-10-30 18:03:14 67 0
2 条回答
写回答
取消 提交回答
  • 在RocketMQ EventBridge中,同一事件源产生的多个事件在同一事件规则中被消费的顺序是不确定的。这是因为RocketMQ EventBridge是基于消息队列的,事件被异步地发送到消费者,所以事件的消费顺序取决于消费者的消费速度和消息队列的调度策略。

    然而,如果你的应用需要保证事件的消费顺序,你可以使用RocketMQ EventBridge的TransactionMessage来实现。TransactionMessage可以在同一事务中发送多个事件,并且这些事件会被保证按照发送的顺序被消费。

    至于你的第二个问题,如果一个事件因为某种原因被发送到事件中心两次,那么消费目标可能会同时处理这两个事件。这是因为RocketMQ EventBridge不会去重已经收到的事件。为了避免这种情况,你可以在事件规则中添加一个去重逻辑,例如,只有当事件的内容不重复时,事件才会被消费。

    2023-10-31 15:04:37
    赞同 展开评论 打赏
  • 由于这块影响比较小,改动大,目前在任务池里优先级不算高,正常情况预计会在11月份推平发布。目前只保证大致有序,不保证绝对有序。同时,为了保证至少投递一次,系统可能会超时或异常重试,接收端需要做好幂等。,此回答整理自钉群“EventBridge用户交流群”

    2023-10-30 22:46:16
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载