RocketMQ一条消息从生产者到消费者的流程

news2024/11/14 8:23:50

目录

1. rocketmq 中的角色介绍

2. 一条消息从生产者到消费者的所有流程(简版)

3. 一条消息从生产者到消费者的所有流程


1. rocketmq 中的角色介绍

  • 生产者 producer
    • 生产、创造消息,会把消息发送到 broker 中
  • 消息代理服务 broker
    • 负责消息代理中转,消息并非直接从生产者发送到消费者,而是要经过 broker 的处理、存储、中转最终到达消费者
  • 消费者 consumer
    • 负责消费消息,消费者会从 broker 拉取消息,并把消息提供给应用程序
  • 主题 topic
    • 表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。
  • nameserver
    • 相当于注册中心,broker 将自己的信息(ip,端口号等)上报给 nameserver,生产者和消费者就可以通过 broker name 去寻找对应的 broker ip 列表(broker 可能有多个节点)。多个 nameserver 实例组成集群,但是相互独立没有信息交换

2. 一条消息从生产者到消费者的所有流程(简版)

提供了生产者,broker,消费者,nameserver 之间的简要交互流程

3. 一条消息从生产者到消费者的所有流程

下面让我们先忽略 name server (仅提供服务发现,与核心消息流程无关),查看下详细的消费流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/657623.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小白怎么入门网络安全?看这篇就够啦!

由于我之前写了不少网络安全技术相关的故事文章,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人在微信里问我: 我刚入门网络安全,该怎么学?要学哪些东西?有哪些方向?怎么选&#xff…

JVM参数配置位置+JVM参数详细配置+Visual GC 插件安装及使用,jvm分析

调优的目的是什么呢? 1.就是让系统更加的丝滑,让用户体验变得更好。 2.提升系统的性能,提高效率,充分利用jvm内存。 一.JVM参数配置位置 1.java.lang.OutOfMemoryError: Java heap space 解决方法,Java堆异常&#…

CSS基础学习--15 CSS布局 - Overflow

一、定义 CSS overflow 属性用于控制内容溢出元素框时显示的方式。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>CSS基础学习-overflow</title> <style> #overflowTest {background: #4CAF50;color: w…

Spring基础知识(二)

目录 1.Spring Bean是什么 2.Spring提供的配置方式 3.Spring bean中的scope 4.Spring bean容器的生命周期 5.Spring的内部bean 6.Spring装配是什么 7.自动装配模式 8.自动装配的局限性 9.基于注解配置容器 10.如何启动注解装配 1.Spring Bean是什么 Spring官方文档对…

lua的用户数据的使用与c语言交互

什么是用户数据 在 Lua 中&#xff0c;用户数据&#xff08;userdata&#xff09;是一种特殊的数据类型&#xff0c;它可以用来表示外部的 C 或 C 对象&#xff0c;并将它们传递给 Lua 程序使用。用户数据是 Lua 与其他语言或系统进行交互的主要方式之一&#xff0c;它可以让 …

选择排序代码

时间复杂度O&#xff08;n&#xff09;

《离散数学》:特殊的图

〇、前言 这一节会重点讨论一下一些特殊的图&#xff0c;这些图会解决一些特殊的问题。 一、欧拉图 给定无向连通图 G&#xff0c;若存在一条路经过 G 中每边一次且仅一次&#xff0c;则该路为欧拉路。若存在一条回路经过 G 中每边一次且仅一次&#xff0c;则该回路称为欧拉…

LVM管理linux

1. lvm的应用场景及其弊端 应用场景&#xff1a; 随着公司的发展&#xff0c;数据增长较快&#xff0c;最初规划的磁盘容量不够用了 弊端&#xff1a; 数据不是直接存放在硬盘上&#xff0c;而是在硬盘的上面又虚拟出来一层逻辑卷存放数据&#xff0c;故而增加了磁盘数据恢复的…

Web3 将 MetaMask添加入谷歌浏览器 扩展程序中

Web3到现在理论这段是说的有点太多了 那么 我们先来看个东西 叫 MetaMask 这个在我们项目开发过程中需要使用 MetaMask是一个开源的以太坊的一个钱包 那么 钱包肯定就是用来管理数据资产的 MetaMask 是以一个浏览器插件形式存在的 它可以直接连接到以太坊的网络中来管理我们…

冒泡排序代码

时间复杂度O&#xff08;n&#xff09;

03_Linux设备树与设备树语法

目录 什么是设备树 DTS、DTB和DTC DTS语法 dtsi头文件 设备节点 标准属性 compatible属性 model属性 status属性 #address-cells和#size-cells属性 reg属性 ranges属性 name属性 device_type属性 根节点compatible属性 使用设备树之前设备匹配方法 使用设备树以…

K8S之 metrics-server 组件(十八)

首先下载&#xff1a;K8S之 metrics-server 组件 metrics-server 是一个集群范围内的资源数据集和工具&#xff0c;同样的&#xff0c;metrics-server 也只是显示数据&#xff0c;并不提供数据存储服务&#xff0c;主要关注的是资源度量 API 的实现&#xff0c;比如 CPU、…

重塑癌细胞嚣张形象!《自然》重磅论文显示,癌细胞不仅懒还很节俭

▎药明康德内容团队编辑 在我们的印象中&#xff0c;癌细胞都是身体内失去控制的猛兽&#xff0c;它们会疯狂地复制、转移&#xff0c;形成巨大的肿瘤。因此过去很长一段时间内我们都认为肿瘤是一个对资源极度贪婪的群体&#xff0c;比如一百年前&#xff0c;生理学家就发现癌…

vue2.6源码学习:数据变化监听原理之数据驱动视图(observer)

上次我们看vue2.6源码的时候&#xff0c;大概看了一下整体的项目结构目录。主要是里面的Observer和vdom这两个文件夹。 也是vue里面最核心的两个文件夹&#xff0c;今天我们继续来学习。 instance文件夹是用来做什么的 这个也是vue比较核心的一块&#xff0c;这个是与vuejs实例…

UVM中uvm_config_db机制背后的大功臣

1. 前言 本次讲一下UVM中的uvm_config_db&#xff0c;在UVM中提供了一个内部数据库&#xff0c;可以在其中存储给定名称下的值&#xff0c;之后可以由其它TB组件去检索。这样的数据库允许我们以不同的名称存储不同的配置设置&#xff0c;这些配置可以在需要时潜在地配置TB组件…

spring.session 随笔0 集成设计

0. 上个月划水时间关注的&#xff0c;最近断断续续的了解了一些 RUNOOB redis命令:APPEND 整合shiro实现分布式session同步(定制cacheManager) 我想想&#xff0c;还是照自己思绪发散的顺序开始描述这块的内容吧&#xff0c;可能侧重点有些奇怪。 由于工程使用的spring.boot.…

树莓派+Docker+cpolar(内网穿透)+Nignx

首先安装Raspberry Pi Imager&#xff0c;用于给SD卡安装系统镜像。 使用Raspberry Pi Imager&#xff08;树莓派镜像烧录器&#xff09;烧录镜像文件到SD中&#xff0c;操作步骤如下图所示&#xff1a; docker安装nginx提供web服务 获取最新版本的docker安装包&#xff1a; su…

linux上启动两个nginx实例

一台机器上启动两个nginx实例&#xff0c;主要是端口冲突问题&#xff0c;另外&#xff0c;如果一个是通过编译安装&#xff0c;另一个是拷贝的&#xff0c;那么还需要修改静态文件根路径。 这里&#xff0c;我第一个nginx是通过源码编译安装&#xff0c;安装目录是默认的/usr/…

live555交叉编译

下载live555最新源码&#xff1a;http://www.live555.com/liveMedia/public/live555-latest.tar.gz 如果是要下载具体的live555版本&#xff0c;比如2023.06.14发布的版本&#xff0c;则可以浏览器输入&#xff1a;http://www.live555.com/liveMedia/public/live.2023.06.14.t…

GPT 模型的工作原理 你知道吗?

动动发财的小手&#xff0c;点个赞吧&#xff01; Source[1] 简介 当我使用 GPT 模型编写我的前几行代码时是 2021 年&#xff0c;那一刻我意识到文本生成已经到了一个拐点。在此之前&#xff0c;我在研究生院从头开始编写语言模型&#xff0c;并且我有使用其他文本生成系统的经…