MQ邏輯
0.dubbo重試機制,導緻消息重發
1.消息差別,多寫個類
2.消息入庫并分類(存入一張表中)
3.分布式事物,用消息隊列來保證,不復原
4.順序性
5.失敗,怎麼辦
6.消息是事務
7.代碼中啟動消費者消息
8.遠端調用,實作rpc功能
9.池,以及每次隻發送1條給伺服器,負載均衡
10.消息的順序性
邏輯是最重要的,技術始終是有缺陷的。
代碼實作
http://favccxx.blog.51cto.com/2890523/1703031
表結構
CREATE TABLE `rabbitmq_msg` (
`msg_id` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`unique_code` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '消息唯一辨別:rId + wId + nId',
`msg_type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '消息類型,按流程類型,參考:ProcessTemplate',
`content` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '消息内容,便于做事務補償',
`refer_id` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`refer_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '消息狀态,0:待處理,1:成功',
`create_time` datetime DEFAULT NULL COMMENT '建立時間'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
具體應用碰到的問題 大牛寫的
1.http://aitanjupt.blog.51cto.com/2839166/1413934
對RabbitMQ使用的關鍵性問題進行的調研,如性能上限、資料存儲、叢集
2.http://wangqingpei557.blog.51cto.com/1009349/1881540
RabbitMQ 高可用叢集搭建及電商平台使用經驗總結
本文轉自 liqius 51CTO部落格,原文連結:http://blog.51cto.com/szgb17/1943230,如需轉載請自行聯系原作者