前言用过MQ的同学,可能会遇到过消息堆积的问题。而我最近也踩上了这个坑,但是发现结果竟然是这么一个意料之外的原因而导致的。正文那一晚月和风高,我正准备踏上回家的路,突然收到告警短信轰炸!“MQ消息堆积告警[TOPIC:XXX]”肥壕心里“万只草泥马崩腾~”第一反应是:“怎么肥事?刚下班就来搞事情???”于是乎赶回公司赶紧打开电脑,登上RocketMQ后台查看(公司自己搭建的开源版RocketMQ)
分类:
其他好文 时间:
2020-08-17 17:54:23
阅读次数:
123
ActiveMQ介绍 MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。 特点: 1、支持多种语言编写客户端 2 ...
分类:
编程语言 时间:
2020-08-11 10:38:48
阅读次数:
71
目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货。在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持续七天,就是使用了消息中间件的延迟推送功能。 12306 购票支付确认页面。我们在选好票点击确定跳转的页面中往 ...
分类:
其他好文 时间:
2020-08-06 11:56:05
阅读次数:
73
最近看了@JavaGuide发布的一篇『面试官问我如何保证Kafka不丢失消息?我哭了!』,这篇文章承接这个主题,来聊聊如何保证RocketMQ不丢失消息。0x00.消息的发送流程一条消息从生产到被消费,将会经历三个阶段:生产阶段,Producer新建消息,然后通过网络将消息投递给MQBroker存储阶段,消息将会存储在Broker端磁盘中消息阶段,Consumer将会从Broker拉取消息以上任
分类:
其他好文 时间:
2020-08-05 18:15:11
阅读次数:
81
RabbitMQ是什么? MQ(Message Queue,消息队列)消息中间件,一般以集群方式部署,主要提供消息的接受和发送,实现各微服务之间的消息同步。 原理介绍 rabbitmq是依据erlang的分布式特性(RabbitMQ底层是通过Erlang架构来实现的,所以rabbitmqctl会启动 ...
分类:
其他好文 时间:
2020-08-04 16:52:47
阅读次数:
96
两个回调方法:发送消息成功之后执行事务的executeLocalTransaction,回查时候调用的checkLocalTransaction。 思路:执行事务的时候,调用service的方法,这个方法需要用事务注解,方法参数中传入唯一id,事务方法最后判断如果id不为空,往事务表中插入唯一id, ...
分类:
其他好文 时间:
2020-08-04 16:41:25
阅读次数:
99
https://zhuanlan.zhihu.com/p/159017211 看着这算法凌乱的很,太复杂了!说实话,确实挺复杂,蛮罗嗦的,但是代数法可以得到如下表格: 假设4个queueConsumer有2个可以整除Consumer有3个不可整除Consumer有5个无法都分配queue[0]Con ...
分类:
其他好文 时间:
2020-07-29 10:19:02
阅读次数:
69
1. Redis Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bi ...
分类:
系统相关 时间:
2020-07-27 15:55:04
阅读次数:
89
一:RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由( ...