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

react 网站开发甘南网站建设

react 网站开发,甘南网站建设,阿里云虚拟主机怎么建设网站,优化公司排名文章目录 概述RocketMQ架构rocketmq的工作流程Broker 高可用集群刷盘策略 概述 RocketMQ一个纯java、分布式、队列模型的开源消息中间件#xff0c;前身是MetaQ#xff0c;是阿里研发的一个队列模型的消息中间件#xff0c;后开源给apache基金会成为了apache的顶级开源项目… 文章目录 概述RocketMQ架构rocketmq的工作流程Broker 高可用集群刷盘策略 概述 RocketMQ一个纯java、分布式、队列模型的开源消息中间件前身是MetaQ是阿里研发的一个队列模型的消息中间件后开源给apache基金会成为了apache的顶级开源项目具有高性能、高可靠、高实时、分布式特点。 RocketMQ是阿里开源的分布式消息中间件跟其它中间件相比RocketMQ的特点是纯JAVA实现集群和HA实现相对简单在发生宕机和其它故障时消息丢失率更低。 RocketMQ架构 ● Producer消息生产者 ● Consumer消费者 ● BrokerMQ 服务负责接收、分发消息 ● NameServer负责 MQ 服务之间的协调 整体架构中包含四种角色 ● Producer 消息发布的角色Producer 通过 MQ 的负载均衡模块选择相应的 Broker 集群队列进行消息投递投递的过程支持快速失败并且低延迟。 ● Consumer 消息消费的角色支持以 push 推pull 拉两种模式对消息进行消费。 ● NameServer 名字服务是一个非常简单的 Topic 路由注册中心其角色类似 Dubbo 中的 zookeeper 支持 Broker 的动态注册与发现。 ● BrokerServer Broker 主要负责消息的存储、投递和查询以及服务高可用保证 Producer 消息生产者位于用户的进程内Producer通过NameServer获取所有Broker的路由信息根据负载均衡策略选择将消息发到哪个Broker然后调用Broker接口提交消息。 Producer Group 生产者组简单来说就是多个发送同一类消息的生产者称之为一个生产者组。 Consumer 消息消费者位于用户进程内。Consumer通过NameServer获取所有broker的路由信息后向Broker发送Pull请求来获取消息数据。Consumer可以以两种模式启动广播Broadcast和集群Cluster广播模式下一条消息会发送给所有Consumer集群模式下消息只会发送给一个Consumer。 Consumer Group 消费者组和生产者类似消费同一类消息的多个 Consumer 实例组成一个消费者组。 Topic Topic用于将消息按主题做划分Producer将消息发往指定的TopicConsumer订阅该Topic就可以收到这条消息。Topic跟发送方和消费方都没有强关联关系发送方可以同时往多个Topic投放消息消费方也可以订阅多个Topic的消息。在RocketMQ中Topic是一个上逻辑概念。消息存储不会按Topic分开。 Message 代表一条消息使用MessageId唯一识别用户在发送时可以设置messageKey便于之后查询和跟踪。一个 Message 必须指定 Topic相当于寄信的地址。Message 还有一个可选的 Tag 设置以便消费端可以基于 Tag 进行过滤消息。也可以添加额外的键值对例如你需要一个业务 key 来查找 Broker 上的消息方便在开发过程中诊断问题。 Tag 标签可以被认为是对 Topic 进一步细化。一般在相同业务模块中通过引入标签来标记不同用途的消息。 Broker Broker是RocketMQ的核心模块负责接收并存储消息同时提供Push/Pull接口来将消息发送给Consumer。Consumer可选择从Master或者Slave读取数据。多个主/从组成Broker集群集群内的Master节点之间不做数据交互。Broker同时提供消息查询的功能可以通过MessageID和MessageKey来查询消息。Borker会将自己的Topic配置信息实时同步到NameServer。 Queue Topic和Queue是1对多的关系一个Topic下可以包含多个Queue主要用于负载均衡。发送消息时用户只指定TopicProducer会根据Topic的路由信息选择具体发到哪个Queue上。Consumer订阅消息时会根据负载均衡策略决定订阅哪些Queue的消息。 Offset RocketMQ在存储消息时会为每个Topic下的每个Queue生成一个消息的索引文件每个Queue都对应一个Offset记录当前Queue中消息条数。 NameServer NameServer可以看作是RocketMQ的注册中心它管理两部分数据集群的Topic-Queue的路由配置Broker的实时配置信息。其它模块通过Nameserv提供的接口获取最新的Topic配置和路由信息。 ● Producer/Consumer 通过查询接口获取Topic对应的Broker的地址信息 ● Broker 注册配置信息到NameServer 实时更新Topic信息到NameServer rocketmq的工作流程 RocketMQ 是一个分布式消息中间件系统其工作流程可以简单描述如下 Producer 发送消息 生产者Producer通过发送消息到指定的 Topic主题。消息可以包含任意类型的数据通常以键值对的形式发送。Broker 存储消息 接收到消息的 Broker 节点将消息存储到对应的队列中。消息在 Broker 中以顺序存储每个 Topic 可以有多个队列用于水平扩展和提高并发处理能力。Consumer 消费消息 消费者Consumer订阅感兴趣的 Topic并从 Broker 获取消息进行消费。消费者可以以不同的消费模式如广播模式、集群模式消费消息。消息过滤和路由 RocketMQ 支持根据 Tag 进行消息过滤消费者可以根据 Tag 过滤出需要的消息。此外RocketMQ 还支持消息路由确保相同 Key 的消息被发送到同一个队列保证消息的有序性。消息顺序保证 RocketMQ 提供有序消息功能确保消息按照发送顺序被消费。通过设置 MessageQueueSelector 接口实现消息的有序发送和消费。高可用性和容错 RocketMQ 集群部署方式支持主备架构可以保证消息队列的高可用性和容错性。当 Master 节点宕机时会自动选举一个 Slave 节点作为新的 Master保证服务的持续性。监控和管理 RocketMQ 提供了丰富的监控和管理工具可以实时监控消息发送和消费情况查看集群健康状态帮助用户及时发现和解决问题。 总的来说RocketMQ 的工作流程包括消息生产、存储、消费、过滤、路由、顺序保证等环节通过这些环节协同工作实现了高性能、可靠性的消息传递和处理机制。 Broker 高可用集群 Broker 通过主从集群来实现消息高可用。跟 Kafka 不同的是RocketMQ 并没有 Master 节点选举功能而是采用多 Master 多 Slave 的集群架构。Producer 写入消息时写入 Master 节点Slave 节点主动从 Master 节点拉取数据来保持跟 Master 节点的数据一致。 Consumer 消费消息时既可以从 Master 节点拉取数据也可以从 Slave 节点拉取数据。 到底是从 Master 拉取还是从 Slave 拉取取决于 Master 节点的负载和 Slave 的同步情况 。如果 Master 负载很高Master 会通知 Consumer 从 Slave 拉取消息而如果 Slave 同步消息进度延后则 Master 会通知 Consumer 从 Master 拉取数据。总之从 Master 拉取还是从 Slave 拉取由 Master 来决定。 如果 Master 节点发生故障RocketMQ 会使用基于 raft 协议的 DLedger 算法来进行主从切换。Broker 每隔 30s 向 Name Server 发送心跳Name Server 如果 120s 没有收到心跳就会判断 Broker 宕机了 刷盘策略 RocketMQ 采用灵活的刷盘策略。 异步刷盘 消息写入 CommitLog 时并不会直接写入磁盘而是先写入PageCache 缓存中然后用后台线程异步把消息刷入磁盘。异步刷盘策略就是消息写入 PageCache 后立即返回成功这样写入效率非常高。如果能容忍消息丢失异步刷盘是最好的选择。 同步刷盘 即使同步刷盘RocketMQ 也不是每条消息都要刷盘线程将消息写入内存后会请求刷盘线程进行刷盘但是刷盘线程并不会只把当前请求的消息刷盘而是会把待刷盘的消息一同刷盘。同步刷盘策略保证了消息的可靠性但是也降低了吞吐量增加了延迟。
http://www.dnsts.com.cn/news/222956.html

相关文章:

  • 点击未来网站建设设计一个校园网方案
  • 安阳做网站的地方资源网站平台建设方案
  • 怎么让网站收录电销外呼系统
  • 精品资料网官方网站百度推广电话销售好做吗
  • 亚马逊网站开发使用的什么方式在线设计免费logo
  • 网站关键词排名优化推广软件python和c++学哪个好
  • 网站编程论文做直播网站要什么证吗
  • 企业网站制作优化开网店要建网站平台吗
  • 自助建站工具好单库如何做网站
  • 网站飘动广告代码四川省住房和城乡建设厅门户网站
  • 企业微网站与手机微信号北京网站建设公司资讯
  • 网站建设家居cms影视建站系统
  • 有没有专门做老年婚介的网站成都网站建设网
  • 网站建设一般是用哪个软件加强门户网站建设的方案
  • 建设企业网站的需求分析seo是做网站
  • 网站中的自助报价系统长春网站推广方式
  • 温州市建设小学大南网站苏州注册公司需要多少钱
  • 岳阳网站建设开发wordpress列表分页 js
  • 商务通代码是不是只要放在网站根目录下就可以了域名注册需要多久
  • 做期货看什么网站东莞网站建设推广有哪些
  • 辽宁响应式网站费用湖北皇奥建设工程有限公司网站
  • 菜单 标签 wordpressseo自己怎么做
  • 网站设计需要什么免费室内设计师
  • wap网站开发联系电话设计公司网站需要多少钱
  • 定制网站收费泰州网站制作案例
  • 17做网店网站池尾电子商务网站建设个人总结
  • 网站开发前端与后端源代码电子商务网站开发的形式有
  • 5000元网站seo推广网页被禁止浏览怎么解决
  • 北京制作网站公司哪家好展架设计在哪个网站做
  • 手机网站建设机构html5 wap 网站模板