
消息中间件
文章平均质量分 78
消息中间件专栏
Be_insighted
强者自救,圣者渡人!
展开
-
消息队列之消息可靠消费
RabbitMQ消息生命周期(1)生产者将消息发送给交换机(2)交换机将消息放到绑定的队列里;(3)消费者从队列中获取消息,并进行业务的处理。整个链路可能出现的问题1、生产者发送消息过程出现问题2、RabbitMQ Broker存储消息失败3、消费者消费消息过程出现问题要保证消息可靠消费,需要 (1)确保生产者发送的消息被rabbitmq接收了; (2)确保队列中的消息能够持久化; (3)确保消费者已经把消...原创 2022-05-13 12:10:33 · 625 阅读 · 0 评论 -
RabbitMQ 集群学习笔记
基础知识 集群总体概述 Rabbitmq Broker集群是多个erlang节点的逻辑组,每个节点运行Rabbitmq应用,他们之间共享用户、虚拟主机、队列、exchange、绑定和运行时参数。集群复制信息除了message queue(存在一个节点,从其他节点都可见、访问该队列,要实现queue的复制就需要做queue的HA)之外,任何一个Rabbitmq broker上的所有操作的data和state都会在所有的节点之间进行复制。集群运行前提1、集群所有节点必须运行相同的erl...原创 2021-10-30 10:00:17 · 528 阅读 · 1 评论 -
RocketMQ高级之事务消息以及重复消息解决方案
RocketMQ高级之事务消息&重复消息解决方案RocketMQ事务消息原理Half(Prepare) Message指的是暂不能投递给消费者的消息,发送方已经将消息成功发送到了 MQ 服务端,但是服务端未收到生产者对该消息的二次确认,此时该消息被标记成“暂不能投递”状态,处于该种状态下的消息即半消息。Message Status Check由于网络闪断、生产者应用重启等原因,导致某条事务消息的二次确认丢失,MQ 服务端通过扫描发现某条消息长期处于...原创 2021-10-25 08:15:26 · 1237 阅读 · 0 评论 -
RocketMQ快速入门
创建Topicpublic class TopicDemo { public static void main(String[] args) throws MQClientException { DefaultMQProducer producer = new DefaultMQProducer("IM"); producer.setNamesrvAddr("172.16.55.185:9876"); producer.start(); .原创 2021-10-23 17:57:12 · 548 阅读 · 0 评论 -
RocketMQ 学习笔记
生产者、中间层、消费者原创 2021-10-11 23:53:09 · 408 阅读 · 0 评论 -
RabbitMQ高可用架构
RabbitMQ的高可用性RabbitMQ是比较有代表性的,因为是基于主从做高可用性的,我们就以他为例子讲解第一种MQ的高可用性怎么实现。rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式1)单机模式demo级别的,一般就是你本地启动了玩玩儿的,没人生产用单机模式2)普通集群模式意思就是在多台机器上启动多个rabbitmq实例,每个机器启动一个。但是你创建的queue,只会放在一个rabbtimq实例上,但是每个实例都同步queue的元数据。完了你消费的时候,实际上如果原创 2021-09-26 08:05:00 · 434 阅读 · 5 评论 -
RabbitMQ 如何保证消息顺序消费闭坑指南
什么是消息顺序颠倒?原本顺序发送的消息,因网络抖动或者其他原因造成顺序颠倒场景再现 生产者向消息队列按照顺序发送了 2 条消息,消息1:增加数据 A,消息2:删除数据 A。 期望结果:数据 A 被删除。 但是如果有两个消费者,消费顺序是:消息2、消息 1。则最后结果是增加了数据 A。 解决方案(Queue拆分、多个消费者) 将 Queue 进行拆分,创建多个内存 Queue,消息 1 和 消息 2 进入同一个 Queue。 创建多个消费者,每原创 2020-10-27 17:00:55 · 3790 阅读 · 2 评论 -
RabbitMQ 消息队列之可靠性避坑指南
消息丢失消息丢失会带来什么问题?如果是订单下单、支付结果通知、扣费相关的消息丢失,则可能造成财务损失,如果量很大,就会给甲方带来巨大损失。生产者 ——> Broker ——> 消费者在这个链路上、任何一方出现问题都可能导致消息不可靠生产者存放消息的过程中丢失消息解决方案 事务机制(同步方式) 对于 RabbitMQ 来说,生产者发送数据之前开启 RabbitMQ 的事务机制channel.txselect,如果消息没有进队列,则生产者受到异常报错,并进行回滚..原创 2020-10-27 16:55:02 · 242 阅读 · 0 评论 -
解决Cannot find a @StreamListener matching for message with id: babd6418-6f28-cb64-1000-46f2da26c193
{ "_index": "log-2020.08.29", "_type": "log", "_id": "u1ZzOHQBu8XLw8Cohy3m", "_score": 1, "_source": { "level": "WARN", "X-B3-SpanId": "5b73ad57a0410c7d", "host": "svc.cluster.local", "thread_name": "topic1.push-group-1", "X-.原创 2020-08-29 16:34:50 · 1496 阅读 · 0 评论 -
RabbitMQ安装指南
RabbitMQ 安装这里首先介绍RabbitMQ 的安装过程,然后演示发送和消费消息的具体实现,以期让读者 对RabbitMQ 有比较直观的感受。RabbitMQ 是由Erlang 语言编写的, 也正因如此, 在安装Rabb itMQ 之前需要安装Erlang 。建议采用较新版的Erlang ,这样可以获得较多更新和改进,可以到官网( http://www.erlang.orgldownlo...原创 2020-04-27 14:43:30 · 305 阅读 · 0 评论 -
消息实时推送、转发:SpringBoot结合WebSocket、RabbitMQ实现、上线获取消息(叮咚,您有新的订单,请及时处理) 附工程代码 <——> 感知客户端&安全建立连接
SpringCloud结合RabbitMQ实现监听消息实时转发(webSocket)方案设计所用工具(包)IDEA、SpringCloud、RabbitMQ、SpringData(JPA)、MySQL、SpringBoot、Maven初识websocketWebSocket 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex...原创 2020-04-25 15:52:39 · 3094 阅读 · 0 评论 -
win7 启动RabbitMQ服务 报错!解决方案(win7 rabbitmq启动 发生系统错误 1058)
win7 启动RabbitMQ服务 报错!解决方案1、打开文件目录RabbitMQ安装目录下的sbin文件夹,在路径栏里输入 cmd 回车,进入命令行;2、命令行3、输入命令rabbitmq-plugins enable rabbitmq_management 回车然后输入命令rabbitmq-server start回车:...原创 2020-08-18 11:01:14 · 785 阅读 · 0 评论 -
RabbitMQ总结及如何设计MQ要点剖析
RabbitMQ总结及如何设计MQ要点剖析使用场景你工作中的业务场景 <——> 比如:比如我们有个订单系统,订单系统会每次下一个新的订单的时候,就会发送时一条消息到ActiveMQ里面去,后台有个库存系统负责获取了消息然后更新库存。智能售餐系统绑定的商品关联的菜谱发生图片、名称、描述等信息变更时,需要通知设备端、商业云!为什么使用先说一下消息队列的常见使用场景吧,其实场景有很多,但是比较核心的有3个:解耦、异步、削峰解耦:现场画个图来说明一下,A系统发送个数据到BCD三个原创 2020-09-01 11:08:47 · 359 阅读 · 0 评论