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 高可用集群搭建及电商平台使用经验总结




本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1943230,如需转载请自行联系原作者
相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
消息中间件 存储 缓存
RocketMQ工作原理详解及开发实例
RocketMQ工作原理详解及开发实例
642 0
|
消息中间件 架构师 Java
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战(上)
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战
840 0
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战(上)
|
传感器 XML 消息中间件
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
Qt开发技术:mqtt介绍、QtMqtt编译和开发环境搭建
|
传感器 消息中间件 运维
Mqtt开发笔记:Mqtt服务器搭建
Mqtt开发笔记:Mqtt服务器搭建
Mqtt开发笔记:Mqtt服务器搭建
|
3月前
|
消息中间件 Java Kafka
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
|
3月前
|
消息中间件 存储 Java
后端开发Spring框架之消息介绍 同步异步 JMS AMQP MQTT Kafka介绍
后端开发Spring框架之消息介绍 同步异步 JMS AMQP MQTT Kafka介绍
23 0
|
3月前
|
监控 网络协议 C#
一款基于C#开发的通讯调试工具(支持Modbus RTU、MQTT调试)
一款基于C#开发的通讯调试工具(支持Modbus RTU、MQTT调试)
|
消息中间件 存储 负载均衡
工作八年?是高级开发?竟然答不出:如何保证RabbitMQ的高可用?
一个8年工作经验的小伙伴,被问到这样一个问题,说如何保证RabbitMQ的高可用。关于这个问题呢,这位小伙伴倒是有个实操经验,就是不知道如何组织语言。所以,当时面试结果不太理想。今天,我给大家分享一下我的理解。
144 0
|
消息中间件 SQL 数据库
跳槽高级开发就这么答:谈谈你对RocketMQ分布式事务原理的理解
有位工作五年的小伙伴在面试的时候被问到RocketMQ的分布式事务实现原理。他说他只知道RocketMQ能够支持事务,但是没有了解过它的事务实现原理。 今天,我给大家分享一下我对这个问题的理解。
100 0
|
消息中间件 存储 SQL
【ELK解决方案】ELK集群+RabbitMQ部署方案以及快速开发RabbitMQ生产者与消费者基础服务
大概一年多前写过一个部署ELK系列的博客文章,前不久刚好在部署一个ELK的解决方案,我顺便就把一些基础的部分拎出来,再整合成一期文章。大概内容包括:搭建ELK集群,以及写一个简单的MQ服务。
546 0
【ELK解决方案】ELK集群+RabbitMQ部署方案以及快速开发RabbitMQ生产者与消费者基础服务