当前位置: 首页 > news >正文

比较好看的企业网站昆明网站建设seo公司哪家好

比较好看的企业网站,昆明网站建设seo公司哪家好,重庆智能建站模板,苏州做i网站的分布式通信:消息队列 什么是消息队列? 队列是一种具有先进先出特点的数据结构,消息队列是基于队列实现的、存储具有特定格式的消息数据。消息以特定格式放入这个队列的尾部后直接返回,不需要系统马上处理,之后有其他…

分布式通信:消息队列

什么是消息队列?

队列是一种具有先进先出特点的数据结构,消息队列是基于队列实现的、存储具有特定格式的消息数据。消息以特定格式放入这个队列的尾部后直接返回,不需要系统马上处理,之后有其他进程从队列头部开始读取消息,按照消息放入顺序逐一处理。

引入消息队列的好处是可以提升响应速度,实现组件之间的解耦。

消息队列的工作原理

消息队列模式包括3个核心部分:

  • 生产者,产生消息或者数据,并将其插入到消息队列中。
  • 消息队列,一种具有先进先出特点的数据结构,用来存储消息。
  • 消费者,从消息队列中获取消息,进行相关处理。

生产者将发送的消息插入到消息队列,称为入队,消费者从消息队列中按照顺序取出消息进行处理,称为出队。

RocketMQ工作原理

RocketMQ的架构图如下所示。
在这里插入图片描述

RocketMQ架构包括4部分:

  • NameServer Cluster,它和Kafka中的ZooKeeper类似,提供分布式服务的协同和管理功能,主要是和Broker相关的信息,包括有哪些Broker、Broker地址和状态等,以方便生产者基于它来发布消息,消费者基于它来获取消息。
  • Producer Cluster,负责接收用户数据,然后将数据发布到消息队列Broker Cluster。一般采用集群方式部署,这样可以1)多个Producer并发接收用户输入数据,提升系统效率,2)增加可靠性。
  • Consumer Cluster,负责从Broker中获取消息进行消费。一般也是采用集群方式部署,这样可以提升消费者的消费能力,避免消息溢出或者丢弃。
  • Broker Cluster,负责存储Producer Cluster发布的消息,并供消费者消费。Broker Cluster中的每个Broker都进行了主从设计,即每个Broker分为Broker Master和Broker Slave,Master既可以写也可以读,Slave不可以写只可以读,Broker Master会把接收到的消息同步给Broker Slave,以实现数据备份,一旦Broker Master崩溃,可以切换到Broker Slave继续提供服务,这样就提高了系统可靠性。

在Broker Cluster中,消息的存储采用主题(Topic)+ 消息队列(Queue)的方式实现。

RocketMQ中的主题是一个逻辑概念,一个主题可以分区,分布在不同的Broker上,每个Broker只有该主题的部分数据。每个主题分区中,队列的数量可以不同,由用户在创建主题时指定。队列是资源分配的基本单元,消息进行存储时会存放到相应主题的分区中。

RocketMQ的工作流程如下:

  1. 首先启动NameServer,然后启动Broker。Broker启动后,会主动找NameServer建立连接,并将自己的信息注册到NameServer上。注册完毕后,Broker会定期给NameServer发送心跳包,心跳包中除了状态信息外,还可以包括Broker当前存储的数据信息。
  2. 创建主题,并确定这个主题的数据存储到哪些Broker上。
  3. 当Producer生产消息发送到主题时,需要先到NameServer查询该主题存放在哪些Broker中,获取到Broker信息后,将消息发送给这些Broker进行存储。
  4. Consumer要从主题消费消息,也需要首先到NameServer查询一下该主题的消息存储在哪些Broker上,然后去相应的Broker获取消息进行消费。

消息队列模式是根据消费者需求到消息队列获取数据进行消费的,消费者只需要知道消息队列地址,消息队列中心无需提前知道消费者信息。因此,消息队列模式比较适合消费者为临时用户的场景。

发布订阅模式和消息队列模式的区别

首先,从实现解耦的数据结构看:

  • 发布订阅模式采用了消息中心,消息队列模式采用了消息队列,它们都是用来存储生产者发布的数据,都有Topic、Broker等概念。
  • 发布订阅采用map或者数组等方式存储数据,消息队列采用队列结构来存储数据。

其次,从实现解耦方式来看:

  • 消息队列模式中,生产者发布数据到消息队列中心,消息队列中心会存储数据,等待消费者按需获取数据,这样生产者就不需要和消费者进行直接通信,实现了生产者和消费者的解耦。
  • 发布订阅模式中,消费者需要提前向消息中心订阅自己感兴趣的数据,当生产者发布数据到消息中心后,消息中心根据订阅者订阅信息讲数据主动推送给消费者,实现了生产者和消费者的解耦。

消息队列中的消息,可以被设置只消费一次、至少消费一次或者最多消费一次。

http://www.yayakq.cn/news/215489/

相关文章:

  • 大学网站方案设计石家庄做网站制作
  • 阿里巴巴做网站多少钱优易主机 wordpress
  • 网站官网认证怎么做宣讲家网站官网加强作风建设
  • 进行seo网站建设wordpress社交源码
  • 如何购买网站服务器WordPress 更改H标签
  • 网站建设步骤的论文wordpress漂流瓶插件
  • 德州网站设计做视频网站需要什么证件
  • 做一手房产中介用什么网站好农村自建房设计图120平方米三层
  • 万州做网站多少钱wordpress设置vip用户可见
  • 我想买个空间自己做网站360浏览器屏蔽某网站怎么做
  • 哪个网站做黑色星期五订酒店活动朝阳住房和城乡建设厅网站
  • 企业免费招聘网站网站设计 珠海
  • 安顺市建设局网站分类信息的网站排名怎么做
  • 惠州 网站建设公司海原县建设局网站
  • 设计漂亮的网站wordpress万年历插件
  • 南阳商都网站做网站轻极企业wordpress主题
  • wordpress关闭主题提示汨罗网站seo
  • 网站设计建设有限公司互联网推广优化
  • 可以免费建网站的什么软件是做网站的
  • 知识营销成功案例介绍南宁网站seo排名优化
  • 江西企业网站建设费用扬中黄子来
  • 网站建设里面链接打不开wordpress 导航栏 搜索
  • 学院网站建设通知长安东莞网站推广
  • 淄博住房和城乡建设局网站个人网站素材图片
  • 5网站建设黑马程序员python
  • 心海建站qq电脑版官方网站
  • 上杭网站网站地图是什么样子的
  • 网站备案的具体流程图哪个汽车网站汽贸店免费做
  • 网站代码优化多少钱wordpress 摘要
  • 多用户智能网站建设源码贵州安顺做公司网站