一、初识RocketMQ        我们平时使用一些体育新闻软件,会订阅自己喜欢的一些球队板块,当有作者发表文章到相关的板块,我们就能收到相关的新闻推送。        发布-订阅(Pub/Sub)是一种消息范式,消息的发送者(称为发布
转载 2024-07-15 00:14:38
159阅读
topic、tag、key的区别?topic是消息的一级分类,tag相当于是消息的二级分类,key一般用于消息在业务层面的唯一标识。对发送的消息设置好 Key,以后可以根据这个 Key 来查找消息。关于consumerGroup:一个consumerGroup下可以有多个消费者,但是必须订阅相同的topic和tag,否则后启动的消费者会覆盖前面消费者订阅的topic和tag。消息有2种消费方式,被
转载 2024-03-06 21:25:21
187阅读
1. 最佳实践之 Producer1. 一个应用尽可能用一个 Topic,消息子类型用 tags 来标识,tags 可以由应用自由设置。只有发送消息设置了 tags,消费方在订阅消息时,才可以利用 tags 在 broker 做消息过滤。message.setTags("TagA");2. 每个消息在业务层面的唯一标识码,要设置到 keys 字段,方便将来定位消息丢失问题。服务器会为每个消息创建索
转载 2024-06-05 10:33:15
140阅读
作者:kinnylee来源:https://0x9.me/wPORU背景介绍项目组使用阿里RocketMQ,对同一个消费组设置不同的tag订阅关系,出现消息丢失的问题,本文从rocketmq源码研究消息发布与订阅原理,并分析导致该问题的原因。官方说明告诉使用者:同一个消费组,必须保持订阅关系一致为什么?它没有说!只能从源码找答案 问题复现1.启动消费者1,消费组为group1,订阅topi
文章目录一、顺序消息二、顺序消息消费过程1、消息队列负载2、消息拉取3、消息消费4、消息进度存储三、总结 一、顺序消息  RocketMq在同一个队列中可以保证消息被顺序消费,所以如果要做到消息顺序消费,可以将消费主题(topic)设置成一个队列。二、顺序消息消费过程  同普通消息一样,顺序消息消费需要经历4个步骤:消息队列负载、消息拉取、消息消费、消息进度存储。1、消息队列负载  消息队列负载
     在手机上相信都有来自服务器的推送消息,比如一些及时的新闻信息,这篇文章主要就是实现这个功能,只演示一个基本的案例。使用的是websocket技术。一.什么是websocketWebSocket协议是基于TCP的一种新的网络协议。它实现了客户端与服务器全双工通信,学过计算机网络都知道,既然是全双工,就说明了服务器可以主动发送信息给客户端。这与我们的推
转载 2024-09-23 20:00:53
140阅读
消息过滤说到消息过滤,就不得不说到 tag。没错,就是我们之前在专业术语中提到过的 tag。也称为消息标签,用来标记 Topic 下的不同用途的消息。在 RocketMQ 中消费者是可以按照 Tag 对消息进行过滤。举个电商交易场景的例子,用户下完订单之后,在后台会产生一系列的消息,比如说订单消息、支付消息和物流消息。假设这些消息都发送到 Topic 为 Trade 中,同时用 tag 为 ord
转载 2024-06-05 10:29:56
95阅读
名词解释topic && tagTopic : 消息主题,一级消息类型,通过 Topic 对消息进行分类。Tag : 消息标签,二级消息类型,用来进一步区分某个 Topic 下的消息分类。 RMQ 允许消费者按照 Tag对消息进行过滤,确保消费者最终只消费到他的消息类型。//制定topic && tag 进行消息过滤 consumer.subscribe("to
转载 2024-06-28 11:17:13
326阅读
本文站在消费者和生产者的角度给出一些RocketMQ客户端使用的实践意见。一、Producer最佳实践发送消息注意事项一个应用尽可能用一个Topic,消息子类型用tags来标识,tags可以由应用自由设置。只有发送消息设置了tags,消费方在订阅消息时,才可以利用tags在broker做消息过滤。message.setTags("TagA");每个消息在业务层面的唯一标识码,要设置到keys字段,
转载 2024-06-04 14:17:11
675阅读
一、Broker端进行消息过滤,提高吞吐量在 Broker端进行消息过滤,可以减少无效消息发送到 Consumer,少占用网络带宽从而提高吞吐量 。过滤方式:方式1: 通过tag 和 key 进行过滤(在创建Message时设置) Tag和 Key的主要差别是使用场景不同 Tag用在 Consumer的代码中,用来进行服务端消息过滤 Key 主要用于通过命令行查询消息 。方式2: 通过sql表达式
RocketMQ设计思路一. 概述RocketMQ作为一款高性能消息中间件,其核心优势是可靠的消息存储、消息发送的高性能与低延迟、强大的消息堆积能力与消息处理能力、严格的顺序消息模式等。RocketMQ的另一个核心思想是懂得取舍。软件设计不可能做到面面俱到,消息中间件的理想状态是一条消息能且只能被消费一次,但要做到这一点,必然需要牺牲性能。RocketMQ的设计者解决这一难题的办法是不去解决,即保
转载 2024-10-21 12:01:36
19阅读
简单总结:通过保证“消息发送”与本地事务的原子性,而消息的订阅则交由MQ本身的机制实现。执行流程说明:Producer向borker发送消息;服务端将消息持久化后,向发送方确认消息已经发送成功后,此事为半消息。发送方开始执行本地事务逻辑。发送方根据本地事务执行结果向服务端二次确认(Commit或者Rollback),服务端收到commit状态则半消息标志为可投递,订阅方最终收到消息;服务端收到ro
转载 2024-03-25 08:12:43
125阅读
今天和大家一起深入生产级别消息中间件 - RocketMQ 的内核实现,来看看真正落地能支撑万亿级消息容量、低延迟的消息队列到底是如何设计的。这篇文章我会先介绍整体的架构设计,然后再深入各核心模块的详细设计、核心流程的剖析。还会提及使用的一些注意点和最佳实践。话不多说,上车。RocketMQ 整体架构设计整体的架构设计主要分为四大部分,分别是:Producer、Consumer、Broker、Na
转载 2024-10-21 12:21:57
29阅读
RocketMQ的发展历史RocketMQ是一个统一消息引擎、轻量级数据处理平台。RocketMQ是一款阿里巴巴开源的消息中间件。 2016 年 11 月 28 日,阿里巴巴向 广西党性培训 Apache 软件基金会捐赠RocketMQ,成为 Apache 孵化项目。 2017 年 9 月 25 日,Apache 宣布 RocketMQ孵化成为 Apache 顶级项目(TLP ),成为国内首个互联
转载 2024-09-23 17:17:44
79阅读
 前言分布式消息选型的时候是否支持事务消息是一个很重要的考量点,而目前只有RocketMQ对事务消息支持的最好。今天我们来唠唠如何实现RocketMQ的事务消息!Apache RocketMQ在4.3.0版中已经支持分布式事务消息,这里RocketMQ采用了2PC的思想来实现了提交事务消息,同时增加一个补偿逻辑来处理二阶段超时或者失败的消息,如下图所示。RocketMQ事务流程概要Roc
springBoot整合webSocket,超简单入门webSocket简洁WebSocket 是一种基于 TCP 协议的全双工通信协议,它允许客户端和服务器之间建立持久的、双向的通信连接。相比传统的 HTTP 请求 - 响应模式,WebSocket 提供了实时、低延迟的数据传输能力。通过 WebSocket,客户端和服务器可以在任意时间点互相发送消息,实现实时更新和即时通信的功能。WebSock
转载 8月前
47阅读
基于RocketMQ release-4.9.3,深入的介绍了Broker接收消息源码入口。此前我们学习了RocketMQ的Producer发送消息的源码,首先会查找查找topic的发布信息,然后找到一个消息队列MessageQueue,默认是轮询的选择,MessageQueue中存储着对应的brokerName,通过brokerName就能找到具体的brokerIP,随后获取producer客户
1. 简介 Producer发送一条消息到broker后,如何存储到commitlog文件,又是如何构建的consumequeue,index文件,将从源码的角度剖析。 2. SendMessageProcessor 该类是负责响应Producer发消息到broker的入口处理逻辑类。其processRequest响应两种请求: [list]
转载 2024-09-27 12:19:58
64阅读
1. RocketMQ 概览1.1 用途:应用解耦、异步调用、流量削峰、分布式最终一致性1.2 概念:Topic&Tag:Topic是发布订阅的主题,Tag属于子Topic,主要作用是提供给业务更大的灵活度,用来分流消息。Producer&Consumer:Producer 是生产者,生产并发送消息。Consumer 是消费者,分为PushConsumer,和PullConsume
转载 2024-04-08 13:50:46
219阅读
Topic消息主题,一级消息类型,通过 Topic 对消息进行分类。详情请见Topic 与 Tag 最佳实践。Message消息,消息队列中信息传递的载体。Message ID消息的全局唯一标识,由消息队列 RocketMQ 系统自动生成,唯一标识某条消息。Message Key消息的业务标识,由消息生产者(Producer)设置,唯一标识某个业务逻辑。Tag消息标签,二级消息类型,用来进一步区分
转载 2024-06-28 00:52:16
107阅读
  • 1
  • 2
  • 3
  • 4
  • 5