本方案分布式事务柔性事务解决方案:可靠消息最终一致性(异步确保型)实现自
本方案与龙果学院的方案思想基本一致,但本方案使用Spring Cloud实现
方案中用到的主要技术为: Spring Cloud、Spring Boot、MyBatis、JDK8、RabbitMQ
为什么要使用柔性事务
上篇文章已经详细说过,这里简单提下,传统的刚性事务无法满足高并发场景。而柔性事务可在牺牲一定的一致性、可用性、或者分区容错性的情况下,可以满足一定的高并发场景。
方案解构
生产者通过可靠消息服务将我们的消息发送给了消费者,就这么简单。对消息中间件有所了解的小伙伴应该就能看出这个图的不同了,它在生产者和可靠消息服务中间嵌入了一个可靠消息服务的角色,那么它起到什么样的作用呢?
可靠消息服务
假如我们没有使用可靠消息服务,会出现什么呢?(以下只是部分情况,不是所有情况)
- 生产者将消息发送出去了,但是业务失败了
- 生产者业务执行成功了,但是业务没有发送出去
- 消息中间件消息丢失
我们的可靠消息服务就是为了解决这些问题而生。