温馨提示:本站仅提供公开网络链接索引服务,不存储、不篡改任何第三方内容,所有内容版权归原作者所有
AI智能索引来源:http://www.kbpcj.com/info/22-884302965
点击访问原文链接

有没有做.net面试题的网站注册公司需要什么条件?-北京孤凡电子商务有限公司

有没有做.net面试题的网站注册公司需要什么条件?-北京孤凡电子商务有限公司 北京孤凡电子商务有限公司 首页 新笔记 联系 订阅 首页 新笔记 联系 订阅 北京孤凡电子商务有限公司

高级软件工程师

分类 资讯中心 产品中心 最新文章 宁夏消防消防泵 2026/02/25 20:25:09 北京质量fluidlabR-300便携式细胞计数仪售价 2026/02/24 13:44:22 伊犁木箱要多少钱 2026/02/23 20:32:27 余杭区公司福利坚果礼盒加工厂 2026/02/21 17:52:07 杭州小半径对焊管件价格 2026/02/20 18:04:12 海南标准金属工程测量 2026/02/19 19:26:47 推荐文章 怎么把网站做的小程序天元建设集团有限公司财务分析 2026/01/23 04:34:01 天津购物网站搭建2024年1月时事新闻 2026/01/21 18:33:01 网站建设需要注意的事情小学科学可以做实验的网站 2026/01/23 17:52:01 iis 网站乱码专业创业服务平台网站建设需求 2026/01/23 15:36:01 上海卧式干燥设备应用案例 2026/01/31 12:05:01 学做美食的网站视频女教师遭网课入侵视频大全 2026/01/23 01:13:01 有没有做.net面试题的网站注册公司需要什么条件? 北京孤凡电子商务有限公司 2026/02/27 00:58:43 有没有做.net面试题的网站,注册公司需要什么条件?,google官方下载app,网站是如何制作的了解即可一、总结RocketMQ的运行架构通过之前的一系列实验#xff0c;相信你对RocketMQ的运行机制有了一个大概的了解。接下来我们结合一下之前实验的过程#xff0c;来理解一下RocketMQ的运行架构。下图是RocketMQ运行时的整体架构#xff1a;接下来#xff0c;我们就完整…了解即可一、总结RocketMQ的运行架构通过之前的一系列实验相信你对RocketMQ的运行机制有了一个大概的了解。接下来我们结合一下之前实验的过程来理解一下RocketMQ的运行架构。下图是RocketMQ运行时的整体架构接下来我们就完整梳理一下RocketMQ中各个组件的作用1、NameServer 命名服务在我们之前的实验过程中你会发现NameServer不依赖于任何其他的服务自己独立就能启动。并且不管是Broker还是客户端都需要明确指定NameServer的服务地址。以一台电脑为例NameServer可以理解为是整个RocketMQ的CPU整个RocketMQ集群都要在CPU的协调下才能正常工作。2、Broker 核心服务从之前的实验过程中你会发现Broker是RocketMQ中最为娇贵的一个组件。RocketMQ提供了各种各样的重要设计来保护Broker的安全。同时Broker也是RocketMQ中配置最为繁琐的部分。同样以电脑为例Broker就是整个RocketMQ中的硬盘、显卡这一类的核心硬件。RocketMQ最核心的消息存储、传递、查询等功能都要由Broker提供。3、Client 客户端Client包括消息生产者和消息消费者。同样以电脑为例Client可以认为是RocketMQ中的键盘、鼠标、显示器这类的输入输出设备。鼠标、键盘输入的数据需要传输到硬盘、显卡等硬件才能进行处理。但是键盘、鼠标是不能直接将数据输入到硬盘、显卡的这就需要CPU进行协调。通过CPU鼠标、键盘就可以将输入的数据最终传输到核心的硬件设备中。经过硬件设备处理完成后再通过CPU协调显示器这样的输出设备就能最终从核心硬件设备中获取到输出的数据。4、四大核心组件详解4.1 NameServer命名服务器NameServer 是 RocketMQ 的轻量级服务发现与路由中心类似于 Kafka 的 Zookeeper 或 AWS SQS 的协调服务。核心职责服务注册Broker 启动时向所有 NameServer 注册自己的路由信息路由管理维护 Topic 与 Broker 的映射关系心跳检测通过定期心跳机制默认30秒感知 Broker 的存活状态配置管理存储基础的配置信息设计特点无状态设计NameServer 节点之间不通信彼此独立轻量级代码量少资源消耗低部署简单最终一致性Broker 向所有 NameServer 注册保证最终一致性4.2 Broker消息服务器Broker 是 RocketMQ 的核心组件负责消息的存储、转发和查询。核心职责消息存储将消息持久化到 CommitLog 文件消息投递处理生产者的发送请求消息消费处理消费者的拉取请求高可用通过主从架构实现数据冗余Broker 角色Master负责读写操作是消息的主要处理节点Slave只负责读操作作为 Master 的数据备份关键机制CommitLog所有 Topic 的消息顺序写入同一个文件保证写入性能ConsumeQueue消费逻辑队列作为 CommitLog 的索引IndexFile消息索引文件支持按 Key 查询消息4.3 Producer消息生产者Producer 负责生成并发送消息到 Broker。特性负载均衡自动选择 MessageQueue 发送消息容错机制支持发送失败重试和故障转移发送方式同步发送等待 Broker 响应异步发送发送后不阻塞通过回调处理结果单向发送不关心发送结果追求最大吞吐量4.4 Consumer消息消费者Consumer 负责从 Broker 拉取并消费消息。消费模式集群消费Clustering同一 ConsumerGroup 的多个消费者均摊消息广播消费Broadcasting同一 ConsumerGroup 的每个消费者都接收全量消息消费方式推模式PushBroker 主动推送消息到 Consumer实际基于长轮询实现拉模式PullConsumer 主动从 Broker 拉取消息二、理解RocketMQ的消息模型首先我们先来尝试在RocketMQ中发送一批消息。在上一章节提到RocketMQ提供了一个测试脚本tools.sh用于快速测试RocketMQ的客户端。在服务器上配置了一个NAMESRV_ADDR环境变量后就可以直接使用RocketMQ提供的tools.sh脚本调用RocketMQ提供的Producer示例。tools.sh org.apache.rocketmq.example.quickstart.Producer这里调用的Producer示例实际上是在RocketMQ安装目录下的lib/rocketmq-example-5.3.0.jar中包含的一个测试类。tools.sh脚本则是提供Producer类的运行环境。Producer这个测试类会在RocketMQ中发送一千条测试消息。发送消息后我们可以在控制台看到很多如下的日志信息。SendResult [sendStatusSEND_OK, msgId7F000001426E28A418FC6545DFD803E7, offsetMsgIdC0ABE88100002A9F00000000008A56E5, messageQueueMessageQueue [topicTopicTest, brokerNamebroker-a, queueId2], queueOffset124]这是RocketMQ的Broker服务端给消息生产者的响应。这个响应信息代表的是Broker服务端已经正常接收并保存了消息生产者发送的消息。这里面提到了很多topic、messageQueue等概念这些是什么意思呢我们不妨先去RocketMQ的DashBoard控制台看一下RocketMQ的Broker是如何保存这些消息的。访问DashBoard上的“主题”菜单可以看到多了一个名为TopicTest的主题。这个TopicTest就是我们之前运行的Producer创建的主题。点击“状态”按钮可以看到TopicTest上的消息分布。从这里可以看到TopicTest这个话题下分配了八个MessageQueue。这里的MessageQueue就是一个典型的具有FIFO先进先出特性的消息集合。这八个MessageQueue均匀分布在了集群中的两个Broker服务上。每个MessageQueue都记录了一个最小位点和最大位点。这里的位点代表每个MessageQueue上存储的消息的索引也称为offset偏移量。每一条新记录的消息都按照当前最大位点往后分配一个新的位点。这个位点就记录了这一条消息的存储位置。从Dashboard就能看到每一个MessageQueue当前都记录了125条消息。也就是说我们之前使用Producer示例在RocketMQ中发送的一千条消息就被均匀分配到了这八个MessageQueue上。这是再回头来看之前日志中打印的SendResult的信息。日志中的MessageQueue就代表这一条消息存在哪个队列上了。而queueOffset表示这条消息记录在MessageQueue的哪个位置。然后我们尝试启动一个消费者来消费消息我们同样可以使用tools.sh来启动一个消费者示例。tools.sh org.apache.rocketmq.example.quickstart.Consumer这个Consumer同样是RocketMQ下的lib/rocketmq-example-5.3.0.jar中提供的消费者示例。Consumer启动完成后我们可以在控制台看到很多类似这样的日志ConsumeMessageThread_3 Receive New Messages: [MessageExt [brokerNamebroker-b, queueId0, storeSize194, queueOffset95, sysFlag0, bornTimestamp1666252677571, bornHost/192.168.65.112:38414, storeTimestamp1666252678510, storeHost/192.168.65.112:10911, msgIdC0A8E88200002A9F0000000000B4ADD2, commitLogOffset11840978, bodyCRC634652396, reconsumeTimes0, preparedTransactionOffset0, toString()Message{topicTopicTest, flag0, properties{MIN_OFFSET0, MAX_OFFSET125, CONSUME_START_TIME1666257428525, UNIQ_KEY7F000001426E28A418FC6545DDC302F9, CLUSTERrocketmq-cluster, TAGSTagA}, body[72, 101, 108, 108, 111, 32, 82, 111, 99, 107, 101, 116, 77, 81, 32, 55, 54, 49], transactionIdnull}]]这里面也打印出了一些我们刚刚熟悉的brokerNamequeueIdqueueOffset这些属性。其中queueOffset属性就表示这一条消息在MessageQueue上的存储位点。通过记录每一个消息的Offset偏移量RocketMQ就可以快速的定位到这一条消息具体的存储位置继而正确读取到消息的内容。接下来我们还是可以到DashBoard上印证一下消息消费的情况。在DashBoard的“主题”页面选择对应主题后的“CONSUMER管理”功能就能看到消费者的消费情况。从这里可以看到刚才的Consumer示例启动了一个叫做please_rename_unique_group_name_4的消费者组。然后这个消费者从八个队列中都消费了数据。后面的代理者位点记录的是当前MessageQueue上记录的最大消息偏移量。而消费者位点记录的是当前消费者组在MessageQueue上消费的最大消息偏移量。其中的差值就表示当前消费者组没有处理完的消息。并且从这里还可以看出RocketMQ记录消费者的消费进度时都是以“订阅组”为单位的。我们也可以使用上一章节的示例自己另外定义一个新的消费者组来消费TopicTest上的消息。这时RocketMQ就会单独记录新消费者组的消费进度。而新的消费者组也能消费到TopicTest下的所有消息。接下来我们就可以梳理出RocketMQ的消息记录方式对之前的实验过程进行梳理我们就能抽象出RocketMQ的消息模型。如下图所示生产者和消费者都可以指定一个Topic发送消息或者拉取消息。而Topic是一个逻辑概念。Topic中的消息会分布在后面多个MessageQueue当中。这些MessageQueue会分布到一个或者多个Broker中。在RocketMQ的这个消息模型当中最为核心的就是Topic。对于客户端Topic代表了一类有相同业务规则的消息。对于BrokerTopic则代表了系统中一系列存储消息的资源。所以RocketMQ对于Topic是需要做严格管理的。如果任由客户端随意创建Topic那么服务端的资源管理压力就会非常大。默认情况下Topic都需要由管理员在RocketMQ的服务端手动进行创建然后才能给客户端使用的。而我们之前在broker.conf中手动添加的autoCreateTopictrue就是表示可以由客户端自行创建Topic。这种配置方式显然只适用于测试环境在生产环境下建议关闭这个配置项。如果需要创建Topic可以交由运维人员提前创建Topic。而对于业务来说最为重要的就是消息Message了。生产者发送到某一个Topic下的消息最终会保存在Topic下的某一个MessageQueue中。而消费者来消费消息时RocketMQ会在Broker端给每个消费者组记录一个消息的消费位点Offset。通过Offset控制每个消费者组的消息处理进度。这样每一条消息在一个消费者组当中只被处理一次。从逻辑层面来看RocketMQ的消息模型和Kafka的消息模型是很相似的。没错早期 RocketMQ 就是借鉴Kafka设计出来的。但是在后续的发展过程中RocketMQ在Kafka的基础上做了非常大的调整。所以对于RocketMQ你也不妨回顾下Kafka与Kafka对比着进行学习。例如在Kafka当中如果Topic过多会造成消息吞吐量下降。但是在RocketMQ中对Topic的支持已经得到很大的加强。Topic过多几乎不会影响整体性能。RocketMQ是怎么设计的另外之前Kafka课程中也分析过Leader选举的过程中Kafka优先保证服务可用性而一定程度上牺牲了消息的安全性那么RocketMQ是怎么做的呢保留这些问题后续我们一一解决。 点赞 () 分享 收藏 返回列表 版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除! 怎么把网站做的小程序天元建设集团有限公司财务分析

怎么把网站做的小程序,天元建设集团有限公司财务分析,wordpress server酱,全国高速公路施工建设有没有网站Linux安全与命令行操作全解析 1. SELinux在不同Linux发行版中的

2026/01/23 04:34:01 天津购物网站搭建2024年1月时事新闻

天津购物网站搭建,2024年1月时事新闻,唯品会网站建设的目标,android搭建wordpresscomsol激光熔覆 多层多道 包括视频和模型激光熔覆这玩意儿#xff0c;工业圈子里搞金属3D打印

2026/01/21 18:33:01 网站建设需要注意的事情小学科学可以做实验的网站

网站建设需要注意的事情,小学科学可以做实验的网站,北京外包seo公司,互联网营销师培训方案Podman镜像管理终极指南#xff1a;从零开始掌握容器镜像全流程 【免费下载链接】podman Podma

2026/01/23 17:52:01 iis 网站乱码专业创业服务平台网站建设需求

iis 网站乱码,专业创业服务平台网站建设需求,今天体育新闻直播,青岛人力资源招聘官网第一章#xff1a;Open-AutoGLM调试日志的核心价值调试日志在现代AI框架开发中扮演着关键角色#xff0

2026/01/23 15:36:01 上海卧式干燥设备应用案例

喷雾干燥机是专为液态物料(如溶液、乳液、悬浮液)设计的高效干燥设备,其关键工作流程是将液态物料通过雾化器(离心式、压力式、气流式)雾化成微小液滴(直径 10-100μm),再与高温热风(通常 150-

2026/01/31 12:05:01 学做美食的网站视频女教师遭网课入侵视频大全

学做美食的网站视频,女教师遭网课入侵视频大全,网站开发难不难,宣武网站建设生成树生成树

2026/01/23 01:13:01 企业官网型网站建设机关单位网站建设申请

企业官网型网站建设,机关单位网站建设申请,公众号文章怎么添加小程序,唯品会网站建设的目标摘要近年来#xff0c;ClickFix类钓鱼攻击因其高度拟真性和社会工程诱导能力#xff0c;成为针对企业云办

2026/01/22 21:30:01 手机网站前端设计珠海网站定制

手机网站前端设计,珠海网站定制,宝武马钢集团公司招聘网站,网站一直不收录YOLOv5权重文件完整指南#xff1a;如何选择最适合你的模型 【免费下载链接】YOLOv5权重文件下载 YOLOv5 权重文

2026/01/23 15:00:01 景安企业网站建设手机设计网站

景安企业网站建设,手机设计网站,怎样进网站空间,蓬莱做网站那家好革命性JAR文件编辑工具#xff1a;告别解压打包的繁琐操作 【免费下载链接】JarEditor IDEA plugin for dir

2026/01/21 13:00:01 免费做试卷的网站苏州seo排名外包

免费做试卷的网站,苏州seo排名外包,网站开发参考文献,搭建一个appVMware解锁神器#xff1a;轻松安装macOS虚拟机的完整指南 【免费下载链接】unlocker VMware Workst

2026/01/22 22:01:02 © 2025 北京孤凡电子商务有限公司. All rights reserved.

关于我们 使用条款 隐私政策 联系我们

智能索引记录