专栏首页关忆北.(一)RocketMQ订阅与发布

(一)RocketMQ订阅与发布

RocketMQ的组成

  • Producer:生产消息(生产者)
  • Broker:存储消息(服务器)
  • Consumer:消费消息(消费者)

RocketMQ的消息的订阅与发布

订阅与发布时指某个生产者向某个Topic发送消息,消息的订阅是指某个消费者关注了某个topic中带有某些tag的消息,进而从该topic消费数据。

实现的前提:

消息的集合Topic

Topic是订阅主题,RocketMQ中有多个Topic,但每一条消息只能属于一个Topic,所以Topic是消息订阅的基本单位,topic中每一条消息的id都是唯一的。

标签(tag)

为消息设置的标志,用于同一topoc下区分不同类型的消息。来自同一业务单元的消息,可以根据不同业务目的在同一主题下设置不同标签,也可以根据不同的tag,编写不同的业务逻辑。

Broker Server

负责接收生产者消息并对其进行存储以及将消息下发至订阅Topic对应的消费者。

订阅与发布流程

消息顺序

一类消息在消费时需要保持生产的顺序才有意义(订单创建、订单支付、订单完成),同时订单时可以保持并行消费,RocketMQ可以保持严格的消息有序。

  • 全局顺序:对于指定的一个 Topic,所有消息按照严格的先入先出(FIFO)的顺序进行发布和消费。 适用场景:性能要求不高,所有的消息严格按照 FIFO 原则进行消息发布和消费的场景
  • 对于指定的一个 Topic,所有消息根据 sharding key 进行区块分区。 同一个分区内的消息按照严格的 FIFO 顺序进行发布和消费。 Sharding key 是顺序消息中用来区分不同分区的关键字段,和普通消息的 Key 是完全不同的概念。 适用场景:性能要求高,以 sharding key 作为分区字段,在同一个区块中严格的按照 FIFO 原则进行消息发布和消费的场景。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/weixin_42313773复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • (二)RocketMQ订阅与发布

    At least Once:指每个消息必须投递一次。Consumer先Pull消息到本地,消费完成后,才向服务器返回ack,如果没有消费一定不会ack消息。

    关忆北.
  • RocketMQ学习-消息发布和订阅

    前面一篇文章分析了broker的启动过程,浏览了broker的基本功能。接下来的几篇文章,准备按照十分钟入门RocketMQ一文中提到的一系列特性,依次进行学习...

    阿杜
  • Redis-2.发布与订阅

    悠扬前奏
  • Redis(8)——发布/订阅与Stream

    发布/ 订阅系统 是 Web 系统中比较常用的一个功能。简单点说就是 发布者发布消息,订阅者接受消息,这有点类似于我们的报纸/ 杂志社之类的: (借用前边的一张...

    我没有三颗心脏
  • ROS2与Arduino发布订阅

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    zhangrelay
  • Spring Cloud Bus中的事件的订阅与发布(一)

    年前最后一篇文章,提前祝大家新年快乐! 下面进入正文。Spring Cloud Bus用轻量级的消息代理将分布式系统的节点连接起来。这可以用来广播状态的该表(比...

    aoho求索
  • 设计模式之发布订阅模式(1) 一文搞懂发布订阅模式

    熟悉消息中间件的同学应该对发布/订阅模式(Publish Subscribe Pattern)并不陌生。即使你不了解消息中间件,那么在平时生活中发布/订阅模式也...

    用户5546570
  • 补习系列(13)-springboot redis 与发布订阅

    消息发布者是消息载体的生产者,其通过某些主题来向调度中心发送消息; 而消息订阅者会事先向调度中心订阅其"感兴趣"的主题,随后会获得新消息。

    美码师
  • 干货 | Redis 实现发布订阅原理与实践

    Redis 是完全开源的,高性能的 key-value 数据库,受到越来越多的业务场景应用。对于"发布/订阅"的消息模式,大家也许都比较了解,但是其实现原理及应...

    架构精进之路
  • 通过python实现Redis的订阅与发布

    Pub/Sub功能(means Publish, Subscribe)即发布及订阅功能。基于事件的系统中,Pub/Sub是目前广泛使用的通信模型,它采用事件作为...

    SEian.G
  • 发布订阅模式与观察者模式

    在开始敲代码之后,设计模式已经听了很多,总有一个感觉,这是很高大上的东西。其实设计模式不只是代码开发在使用,设计模式是一种思想,适用与任何方面。

    wade
  • 发布订阅模式与观察者模式

    设计模式的定义是:在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。通俗一点说,设计模式是在某种场合下对某个问题的一种解决方案。如果再通俗一点说,设计...

    ConardLi
  • Redis订阅与发布,要不要了解一下?

    这一篇我们来看看redis的发布订阅模式,其实在很多的MQ产品中都存在这样的一个模式,我们常听到的一个例子就是邮件订阅的场景,什么意思呢,比如说100个人订阅...

    SEian.G
  • 实现一个简单的发布订阅模式_vue订阅者发布者实现

    用户关注一个了微信公众号(订阅),当公众号有内容更新时会推送(发布)给所有关注该公众号的用户。

    全栈程序员站长
  • RabbitMQ在php中的使用----发布与订阅

    安装教程 rabbitmq和php的amqp扩展教程网上有很多,大家可以自行查询,例如:Linux系统安装RabbitMQ及PHP安装amqp拓展库详细教程

    美团骑手
  • MS SQL Server 2008发布与订阅

    本文转载:http://chaoyouzhuo.blog.163.com/blog/static/126376001201173092514498/

    跟着阿笨一起玩NET
  • 消息队列两种模式:点对点与发布订阅

    来源:和大黄 blog.csdn.net/HEYUTAO007/article/details/50131089

    芋道源码
  • RabbitMQ实战4.发布与订阅交换机临时队列发布与订阅功能实现执行结果流程总结参考文档

    RabbitMQ并非直接将消息投递到队列中,而是要经过交换机,交换机再与队列绑定。那么,什么是交换机? 如何通过交换机与队列的绑定实现发布与订阅功能?

    章鱼喵

扫码关注腾讯云开发者

领取腾讯云代金券