首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RocketMQ系列(七)事务消息(数据库|最终一致性)

executeLocalTransaction方法返回UNKNOW以后,RocketMQ会每隔一段时间调用一次checkLocalTransaction,这个方法的返回值决定着这个消息的最终归宿。...我们运行一下生产端的代码,看看是什么情况,日志如下: executeLocalTransaction termId=15 term:com.example.rocketmqdemo.entity.Term...@4a3509b0 sendResult:COMMIT_MESSAGE 时间:Wed Jun 17 08:56:49 CST 2020 我们看到,先执行的是executeLocalTransaction...那么为什么在执行executeLocalTransaction方法时,能够查询到termId=16的数据呢?还记得MySQL的事务隔离级别吗?忘了的赶快复习一下吧。...我们可以在executeLocalTransaction方法中,固定返回UNKNOW,数据插入数据库成功也好,失败也罢,我们都返回UNKNOW。

61020

RocketMQ系列(七)事务消息(数据库|最终一致性)

executeLocalTransaction方法返回UNKNOW以后,RocketMQ会每隔一段时间调用一次checkLocalTransaction,这个方法的返回值决定着这个消息的最终归宿。...我们运行一下生产端的代码,看看是什么情况,日志如下: executeLocalTransaction termId=15 term:com.example.rocketmqdemo.entity.Term...@4a3509b0 sendResult:COMMIT_MESSAGE 时间:Wed Jun 17 08:56:49 CST 2020 我们看到,先执行的是executeLocalTransaction...那么为什么在执行executeLocalTransaction方法时,能够查询到termId=16的数据呢?还记得MySQL的事务隔离级别吗?忘了的赶快复习一下吧。...我们可以在executeLocalTransaction方法中,固定返回UNKNOW,数据插入数据库成功也好,失败也罢,我们都返回UNKNOW。

1.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于 RocketMQ 事务消息的正确打开方式 → 你学废了吗

    只有发送 half 消息成功,并且发送状态为 SEND_OK ,才会执行 executeLocalTransaction ,向 t_order_transaction_log 表写入事务日志     那么即使...消息会被回滚,积分服务收不到消息     导致的问题就是:用户下单成功,但却没有增加积分     可见关注 half 消息发送结果的重要性   4、half 消息发送成功,且返回的是 SEND_OK 状态,但 executeLocalTransaction...只有 half 消息发送成功,且返回状态是 SEND_OK 才会执行 executeLocalTransaction     即使 Broker 回查事务状态,得到的结果始终是 UNKNOW ,最终...half 消息会被回滚,积分服务收不到消息     订单服务与积分服务都没有落库成功,也就说是没问题的   3、half 消息发送成功,且返回的状态是 SEND_OK ,但 executeLocalTransaction...订单数据回滚了,积分服务未收到消息,那么此种情况是没问题的   看起来挺顺眼,异常情况下也没什么问题 rocketmq-client 的 bug   需要弄清楚的问题有两个:   1、half 消息中置, executeLocalTransaction

    1K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券