http://blog.csdn.net/column/details/learningrocketmq.htmlhtml
http://jm.taobao.org/2017/01/12/rocketmq-quick-start-in-10-minutes/?from=timeline&isappinstalled=0app
業務方實現:分佈式
(1)Producer端準備1張消息表,把update DB和insert message這2個操做,放在一個DB事務裏面。ui
(2)準備一個後臺程序,源源不斷的把消息表中的message傳送給消息中間件。失敗了,不斷重試重傳。容許消息重複,但消息不會丟,順序也不會打亂。.net
(3)Consumer端準備一個判重表。處理過的消息,記在判重表裏面。實現業務的冪等。htm
RocketMQ解決分佈式事務
(1) 發送Prepared消息
(2) update DB
(3) 根據update DB結果成功或失敗,Confirm或者取消Prepared消息。中間件
http://blog.csdn.net/chunlongyu/article/details/53844393?from=timeline&isappinstalled=0blog