http://blog.youkuaiyun.com/column/details/learningrocketmq.html
http://jm.taobao.org/2017/01/12/rocketmq-quick-start-in-10-minutes/?from=timeline&isappinstalled=0
业务方实现:
(1)Producer端准备1张消息表,把update DB和insert message这2个操作,放在一个DB事务里面。
(2)准备一个后台程序,源源不断的把消息表中的message传送给消息中间件。失败了,不断重试重传。允许消息重复,但消息不会丢,顺序也不会打乱。
(3)Consumer端准备一个判重表。处理过的消息,记在判重表里面。实现业务的幂等。
RocketMQ解决分布式事务
(1) 发送Prepared消息
(2) update DB
(3) 根据update DB结果成功或失败,Confirm或者取消Prepared消息。
http://blog.youkuaiyun.com/chunlongyu/article/details/53844393?from=timeline&isappinstalled=0