消息驱动的分布式事务实现

微服务架构的事务问题

  • 服务间调用操作的回滚
  • 服务间调用失败的重试问题

微服务架构的事务问题解决

  • 方法1:减少服务间调用
  • 方法2:没有服务间调用,通过消息驱动调用服务

消息驱动的分布式事务实现

注意的问题

  • 消息中间件需要支持事务
  • 如何处理重试的消息
  • 发生业务异常时回滚操作
    系统错误的处理
  • 方法1:将出错未处理的消息写到失败的队列,进行相应回滚操作
  • 方法2:通过定时任务检查超时订单,对未完成的订单做自动回滚
  • 方法3:保存出错消息,人工处理

实现锁票的安全性

  • 利用@jmsListener设置一个消费者,不适用于多实例
  • 利用事务和数据库锁的特性
  • 分布式锁
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容