首页 > 代码库 > 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逻辑与开发