ToB企服应用市场:ToB评测及商务社交产业平台

标题: 《分布式技术原理与算法解析》学习笔记Day19 [打印本页]

作者: 大连全瓷种植牙齿制作中心    时间: 2023-2-22 15:39
标题: 《分布式技术原理与算法解析》学习笔记Day19
分布式通信:消息队列

什么是消息队列?

队列是一种具有先进先出特点的数据结构,消息队列是基于队列实现的、存储具有特定格式的消息数据。消息以特定格式放入这个队列的尾部后直接返回,不需要系统马上处理,之后有其他进程从队列头部开始读取消息,按照消息放入顺序逐一处理。
引入消息队列的好处是可以提升响应速度,实现组件之间的解耦。
消息队列的工作原理

消息队列模式包括3个核心部分:
生产者将发送的消息插入到消息队列,称为入队,消费者从消息队列中按照顺序取出消息进行处理,称为出队。
RocketMQ工作原理

RocketMQ的架构图如下所示。

RocketMQ架构包括4部分:
在Broker Cluster中,消息的存储采用主题(Topic)+ 消息队列(Queue)的方式实现。
RocketMQ中的主题是一个逻辑概念,一个主题可以分区,分布在不同的Broker上,每个Broker只有该主题的部分数据。每个主题分区中,队列的数量可以不同,由用户在创建主题时指定。队列是资源分配的基本单元,消息进行存储时会存放到相应主题的分区中。
RocketMQ的工作流程如下:
消息队列模式是根据消费者需求到消息队列获取数据进行消费的,消费者只需要知道消息队列地址,消息队列中心无需提前知道消费者信息。因此,消息队列模式比较适合消费者为临时用户的场景。
发布订阅模式和消息队列模式的区别

首先,从实现解耦的数据结构看:
其次,从实现解耦方式来看:
消息队列中的消息,可以被设置只消费一次、至少消费一次或者最多消费一次。
    出处:http://wing011203.cnblogs.com/    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4