一、基本概念消息(Message)消息(Message)就是要传输的信息。一条消息必须有一个主题(Topic),主题可以看做是你的信件要邮寄的地址。主题(Topic)Topic表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题。一个生产者可以同时发送多种Topic消息,而一个消费者只能对某种特定的Topic感兴趣,即只可以订阅和消息一种Topic的消息。topic :messag
转载
2024-04-01 14:38:00
3628阅读
RocketMQ的发展历史RocketMQ是一个统一消息引擎、轻量级数据处理平台。RocketMQ是一款阿里巴巴开源的消息中间件。 2016 年 11 月 28 日,阿里巴巴向 广西党性培训 Apache 软件基金会捐赠RocketMQ,成为 Apache 孵化项目。 2017 年 9 月 25 日,Apache 宣布 RocketMQ孵化成为 Apache 顶级项目(TLP ),成为国内首个互联
转载
2024-09-23 17:17:44
79阅读
目录验证消息消息校验逻辑获取路由信息选择消息队列默认机制故障延迟机制消息发送step1step2step3step4step5step6
消息发送流程主要步骤包括:验证消息、查找路由、选择队列、消息发送。 默认是同步发送方式,超时时间是3s。验证消息我们通过示例中的send方法一探究竟。 send发送消息方法@Override
public SendResult send(
转载
2024-07-11 14:12:37
113阅读
RocketMQUtilprivate static Message getAndWrapMessage(String destination, MessageHeaders headers, byte[] payloads) { if (destination == null || destination.length() < 1) { return null; } if (payloads == null || payloads.length < 1) { return nu
原创
2021-11-11 10:32:41
422阅读
RocketMQUtilprivate static Message getAndWrapMessage(String destination, MessageHeaders headers, byte[] payloads) { if (destination == null || destination.length() < 1) { return null; } if (payloads == null || payloads.length < 1) { return nu
原创
2022-01-12 15:11:41
287阅读
1. RocketMQ 概览1.1 用途:应用解耦、异步调用、流量削峰、分布式最终一致性1.2 概念:Topic&Tag:Topic是发布订阅的主题,Tag属于子Topic,主要作用是提供给业务更大的灵活度,用来分流消息。Producer&Consumer:Producer 是生产者,生产并发送消息。Consumer 是消费者,分为PushConsumer,和PullConsume
转载
2024-04-08 13:50:46
219阅读
rocketMQ版本:4.5.2本次只是简单从rocketmq example里quickstart的producer例子进入,了解下消息发送的一个简单流程,一些比较复杂的流程会在后续学习中继续以新文章记录。 首先,从例子中可以看到要先启动producer。进入start方法,查看相应的启动流程。----- DefaultMQProducerImpl start继续进入DefaultMQProdu
转载
2024-07-14 09:33:43
112阅读
前两章内容中,介绍了Producer的启动过程,然后是如何创建topic,本章内容将主要集中在如何发送消息到broker 一、消息的投递消息的投递分为普通消息的投递和事务消息的投递public class DefaultMQProducer extends ClientConfig implements MQProducer{
// 所有的实际操作委托给这个实现
一、技术架构 RocketMq技术架构上主要分为4个部分:NameServer,Producer,Consumer,BrokerServer。NameServer:Topic路由注册中心。主要包括两个功能:1)broker管理,支持broker动态注册与发现,心跳检测broker存活情况。2)路由信息管理,保存broker、队列信息Producer:消息发布角色Consumer:消息消费角色Br
转载
2024-04-03 15:49:34
179阅读
前言分布式消息选型的时候是否支持事务消息是一个很重要的考量点,而目前只有RocketMQ对事务消息支持的最好。今天我们来唠唠如何实现RocketMQ的事务消息!Apache RocketMQ在4.3.0版中已经支持分布式事务消息,这里RocketMQ采用了2PC的思想来实现了提交事务消息,同时增加一个补偿逻辑来处理二阶段超时或者失败的消息,如下图所示。RocketMQ事务流程概要Roc
一、初识RocketMQ 我们平时使用一些体育新闻软件,会订阅自己喜欢的一些球队板块,当有作者发表文章到相关的板块,我们就能收到相关的新闻推送。 发布-订阅(Pub/Sub)是一种消息范式,消息的发送者(称为发布
转载
2024-07-15 00:14:38
159阅读
1 概述将发送消息的过程逻辑分为三层:应用层,传输层,网络层
client/DefaultMQProducer/DefaultMQProducerImpl:这三者中的逻辑属于应用层的处理逻辑,主要逻辑就是处理消息本身相关的事情
MQClientAPIImpl:此类中的逻辑归属于传输层,应用层与网络层之间的桥梁,主要的逻辑是将应用层的结果封装为网络层协议RemotingCommand以及消息头Hea
RocketMQ学习之不同消息类型发送样例IDEA整合Maven项目消息发送总体思路基本样例同步消息异步消息单向消息消费消息顺序消息延时消息批量消息过滤消息事务消息 IDEA整合Maven项目idea搭建maven项目idea整合tomcatidea启动tomcat控制台乱码idea启动tomcat项目jsp页面乱码<%@ page language="java" contentType=
作者:kinnylee来源:https://0x9.me/wPORU背景介绍项目组使用阿里RocketMQ,对同一个消费组设置不同的tag订阅关系,出现消息丢失的问题,本文从rocketmq源码研究消息发布与订阅原理,并分析导致该问题的原因。官方说明告诉使用者:同一个消费组,必须保持订阅关系一致为什么?它没有说!只能从源码找答案 问题复现1.启动消费者1,消费组为group1,订阅topi
springBoot整合webSocket,超简单入门webSocket简洁WebSocket 是一种基于 TCP 协议的全双工通信协议,它允许客户端和服务器之间建立持久的、双向的通信连接。相比传统的 HTTP 请求 - 响应模式,WebSocket 提供了实时、低延迟的数据传输能力。通过 WebSocket,客户端和服务器可以在任意时间点互相发送消息,实现实时更新和即时通信的功能。WebSock
基于RocketMQ release-4.9.3,深入的介绍了Broker接收消息源码入口。此前我们学习了RocketMQ的Producer发送消息的源码,首先会查找查找topic的发布信息,然后找到一个消息队列MessageQueue,默认是轮询的选择,MessageQueue中存储着对应的brokerName,通过brokerName就能找到具体的brokerIP,随后获取producer客户
文章目录一、顺序消息二、顺序消息消费过程1、消息队列负载2、消息拉取3、消息消费4、消息进度存储三、总结 一、顺序消息 RocketMq在同一个队列中可以保证消息被顺序消费,所以如果要做到消息顺序消费,可以将消费主题(topic)设置成一个队列。二、顺序消息消费过程 同普通消息一样,顺序消息消费需要经历4个步骤:消息队列负载、消息拉取、消息消费、消息进度存储。1、消息队列负载 消息队列负载
消息发送首先来看一个RcoketMQ发送消息的例子:@Service
public class MQService {
@Autowired
DefaultMQProducer defaultMQProducer;
public void sendMsg() {
String msg = "我是一条消息";
// 创建消息,指定TOPIC
转载
2024-06-23 09:56:49
323阅读
RocketMQ中的专业术语Topic topic表示消息的第一级类型,比如一个电商系统的消息可以分为:交易消息、物流消息…… 一条消息必须有一个Topic。Tag Tag表示消息的第二级类型,比如交易消息又可以分为:交易创建消息,交易完成消息….. 一条消息可以没有Tag。RocketMQ提供2级消息分类,方便大家灵活控制。Queue 一个topic下,我们可以设置多个queue(消息队列)。
转载
2024-03-25 15:30:25
138阅读
在手机上相信都有来自服务器的推送消息,比如一些及时的新闻信息,这篇文章主要就是实现这个功能,只演示一个基本的案例。使用的是websocket技术。一.什么是websocketWebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器全双工通信,学过计算机网络都知道,既然是全双工,就说明了服务器可以主动发送信息给客户端。这与我们的推
转载
2024-09-23 20:00:53
140阅读