1. 程式人生 > >rabbitmq邏輯與開發

rabbitmq邏輯與開發

rabbitmq

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 高可用集群搭建及電商平臺使用經驗總結


本文出自 “要有夢想,萬一實現了呢” 博客,謝絕轉載!

rabbitmq邏輯與開發