理解Topic
定义
topic为主题,是 Apache Rocket MQ 中消息传输和存储的顶层容器,用于标识同一类业务逻辑的消息。
主题的作用主要如下:
- 定义数据的分类隔离: 在 Apache RocketMQ 的方案设计中,建议将不同业务类型的数据拆分到不同的主题中管理,通过主题实现存储的隔离性和订阅隔离性。
- 定义数据的身份和权限: Apache RocketMQ 的消息本身是匿名无身份的,同一分类的消息使用相同的主题来做身份识别和权限管理。
2023/11/30...大约 16 分钟
topic为主题,是 Apache Rocket MQ 中消息传输和存储的顶层容器,用于标识同一类业务逻辑的消息。
主题的作用主要如下:
使用docker search rabbitmq命令查看仓库中rabbitmq的版本
使用docker pull rabbitmq,这个命令会拉到最新版本的rabbit mq
如下为下载成功效果
使用docker images查看本地的镜像列表,
队列、交换器和绑定统称为AMQP 实体。
消息被发送到exchanges(exchanges比作邮箱或邮局),exchanges使用binding的rules分配副本到queue,然后,broker传递消息给订阅这个队列的客户,或客户根据需要从队列拉取消息,
网络不可靠,应用程序可能无法处理消息,因此 AMQP 0-9-1 模型有一个 消息确认的概念:当消息传递给消费者时,消费者会自动通知代理,或者在应用程序开发人员选择时立即通知代理。这样做。当使用消息确认时,代理仅在收到该消息(或消息组)的通知时才会从队列中完全删除该消息。
使用消息队列的优缺点
优点:解耦、异步、削峰
缺点:
RabbitMQ对于高可用是基于主从的方式进行实现的。其中有三种工作模式:单机模式、普通集群模式、镜像集群模式
文章摘自官网,系统架构图
生产者(Producter):Apache RocketMQ 中用于产生消息的运行实体,一般集成于业务调用链路的上游。生产者是轻量级匿名无身份的。