四.rocketMQ原理
⦁ mqnamesrv服务
broker启动的时候(单个、多个),都会去查找namesrv注册。
Producer发生消息的时候会根据topic获取路由到broker的信息。
Consumer根据topic到namesrv获取topic的路由到broker的信息。
broker启动的时候会定时任务,每10秒会向namesrv发送心跳请求,并注册topic信息到broker
⦁ 功能:
接收broker的请求注册broker的路由信息。
接收client的请求根据某个topic获取所有broker的路由信息。

⦁ 消息订阅
RocketMQ消息订阅有两种模式:一种是Push模式,即MQServer主动向消费端推送

说明:但在具体实现时,Push和Pull模式都是采用消费端主动拉取的方式。
DefaultMQProducer、
TransactionMQProducer、
DefaultMQPushConsumer、
DefaultMQPullConsumer
消息订阅Consumer
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("QuickStartConsumer");
消息产生者Producer
DefaultMQProducer producer = new DefaultMQProducer("QuickStartProducer");
四.rocketMQ原理的更多相关文章
- RocketMQ原理及源码解析
RocketMQ原理深入: 一.定义: RocketMQ是一款分布式.队列模型的消息中间件,有以下部分组成: 1.NameServer: 一个几乎无状态的节点,可集群部署,节点之间无任何信息同步 2. ...
- RocketMQ原理讲解系列文章
[RocketMQ原理解析][http://blog.csdn.net/quhongwei_zhanqiu/article/category/2548637] [消息的可靠性.顺序和重复][https ...
- POJ-1129 DFS染色+四色原理的应用
OJ-ID: POJ-1129 author: Caution_X date of submission: 20190927 tags: DFS+四色原理的应用 descri ...
- RocketMQ原理分析&场景问题
硬核干货分享,欢迎关注[Java补习课]成长的路上,我们一起前行 ! <高可用系列文章> 已收录在专栏,欢迎关注! 一.RocketMQ的基本原理 RocketMQ基本架构图如下 从这个架 ...
- RocketMQ原理解析-Broker
broker 1. broker的启动 brker的启动 Broker向namesrv注册 1. 获取namesrv的地址列表(是乱序的) 2. 遍历向每个namesrv注册topic的配置信息top ...
- selenium-webdriver(python) (十四) -- webdriver原理
之前看乙醇视频中提到,selenium 的ruby 实现有一个小后门,在代码中加上$DEBUG=1 ,再运行脚本的过程中,就可以看到客户端请求的信息与服务器端返回的数据:觉得这个功能很强大,可以帮助理 ...
- Rocketmq原理&最佳实践
MQ背景&选型 消息队列作为高并发系统的核心组件之一,能够帮助业务系统解构提升开发效率和系统稳定性.主要具有以下优势: 削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失.系统奔溃等问题 ...
- C++五子棋(四)——走棋原理及权值计算
原理 计算 计算每个落子点的**"权值"**,找到权值最大的落子点 对于每个空白点,分别计算周围的八个方向 不妨以该空白点作为参照原点,以水平向右作为X轴正方向,以竖直向下为Y轴正 ...
- RocketMQ原理解析-Remoting
Remoting2. 通信层底层传输协议 RocketMq服务器与客户端通过传递RemotingCommand来交互,通过NettyDecoder,对RemotingCommand进行协议的编码与解码 ...
随机推荐
- [ python ] 反射及item系列
反射 什么是反射? 通过字符串的形式操作对象相关属性.python中的事物都是对象: 关键方法: (1)getattr:获取属性 (2)setattr:设置属性 (3)hashattr:检测是否含有属 ...
- django使用用户名或手机号码登录
django有自己的认证系统,会自动根据用户名和密码进行验证.如果需要使用用户名或手机登录的话,需要重写django的认证后台,并且设置到配置文件中. 重写django的认证后台 class User ...
- LeetCode解题报告—— Word Search & Subsets II & Decode Ways
1. Word Search Given a 2D board and a word, find if the word exists in the grid. The word can be con ...
- Rotate Image——数学相关
You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...
- IOS中div contenteditable=true无法输入 fastclick.js在点击一个可输入的div时,ios无法正常唤起输入法键盘
原文地址: https://blog.csdn.net/u010377383/article/details/79838562 前言 为了提升移动端click的响应速度,使用了fastclick.js ...
- 前端读者 | 前端面试基础手册(HTML+CSS)
本文来自@羯瑞:希望前端面试基础手册能帮助要找工作的前端小伙伴~~ HTML 前端需要注意哪些SEO? 合理的title.description.keywords:搜索对着三项的权重逐个减小,titl ...
- Appscan的第一个测试请求就是提交MAC地址
GET /AppScan_fingerprint/MAC_ADDRESS_真实的MAC地址.html HTTP/1.0 还好都是合法测试,否则情何以堪...
- 再聊语言,模式,OOD
今天与人再次聊到这个话题,有人在为"到底该用什么模式"而烦恼,我相信,每个都经历过这个阶段一定都会感觉很熟悉这个烦恼我认为, 模式不是目的,只是工具,达到设计目标的工具,我们不会因 ...
- HDU 2665.Kth number-可持久化线段树(无修改区间第K小)模板 (POJ 2104.K-th Number 、洛谷 P3834 【模板】可持久化线段树 1(主席树)只是输入格式不一样,其他几乎都一样的)
Kth number Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- pymysql - 错误备查
1. 关于可变参数:*sqls 注意,传入 list 时需要加 *[1,2,3],否则会被拆成 [1], [2], [3], 导致数据类型错误