摘要:
一、概述 负责生产消息,一般由业务系统负责生产消息。一个消息生产者会把业务应用系统里产生的消息发送到broker服务器。 RocketMQ支持三种消息发送方式: 同步消息发送(sync):当Producer发送消息到Broker时会同步等待消息处理结果; 异步消息发送(async):当Produce 阅读全文
摘要:
前言 RocketMQ是一个分布式具有高度可扩展性的消息中间件。本文旨在探索在broker端,生产端,以及消费端是如何做到横向扩展以及负载均衡的。 NameServer集群 提供轻量级的服务发现和路由。每个NameServer 记录完整的路由信息,提供等效的读写服务,并支持快速存储扩展。 就是一个注 阅读全文
摘要:
前言 首先提出我们的监控诉求,出现如下情况时,希望能够及时接收到系统告警通知: RocketMQ服务宕机 RocketMQ消费者下线 RocketMQ消息出现长时间或者大量堆积 本文将通过修改rocketmq-console源码的方式,增加RocketMQ消费者下线和RocketMQ消息出现长时间或 阅读全文
摘要:
一、概述 对于任何一款消息中间件而言,消费者客户端一般有两种方式从消息中间件获取消息并消费: Push方式:由消息中间件(MQ消息服务器代理)主动地将消息推送给消费者;采用Push方式,可以尽可能实时地将消息发送给消费者进行消费。但是,在消费者的处理消息的能力较弱的时候(比如,消费者端的业务系统处理 阅读全文
摘要:
一、概述 Apache RocketMQ在4.3.0版中已经支持分布式事务消息,通过消息的异步事务,可以保证本地事务和消息发送同时执行成功或失败,从而保证了数据的最终一致性。 二、案例 根据官方提供的例子,TransactionProducer.java如下: public class Transa 阅读全文
摘要:
一、概述 Producer对发送失败的消息进行重新发送的机制,称为消息发送重试机制,也称为消息重投机制。 对于消息重投,需要注意以下几点: 生产者在发送消息时,若采用同步或异步发送方式,发送失败会重试,但oneway消息发送方式发送失败是没有重试机制的; 只有普通消息具有发送重试机制,顺序消息是没有 阅读全文
摘要:
一、概述 消息轨迹是用来跟踪记录消息发送、消息消费的轨迹。 如何启用消息轨迹? broker端 需要在broker端的配置文件中添加配置项:traceTopicEnable=true,注意:对于消息轨迹数据量较大的场景,可以在RocketMQ集群中选择其中一个Broker节点专用于存储消息轨迹,使得 阅读全文
摘要:
一、概述 RocketMQ消息队列集群主要包括NameServer、Broker(Master/Slave)、Producer、Consumer4个角色,基本通讯流程如下: Broker启动后需要完成一次将自己注册至NameServer的操作;随后每隔30s时间定时向NameServer上报Topi 阅读全文