RocketMQ——初识RocketMQ详解编程语言
编程语言 详解 初识 rocketmq
2023-06-13 09:11:53 时间
下图是从官网摘过来的RocketMQ架构图
RocketMQ架构分为四个部分:NameServer,Broker,Producer,Consumer。其中每一部分都可以水平扩展以避免单点故障。
NameServer:NameServer集群的每一个节点都会记录完整的路由信息,提供可靠的读写服务,并支持存储扩展。NameServer负责管理以下两个部分:
Broker Management:Broker集群的启动需要向NameServer注册,NameServer与Broker会建立心跳连接,随时检查一个Broker是否存活 Routing Management:NameServer集群的每一个节点都会记录整个Broker集群完整的路由信息,与客户端(客户端指Producer和Consumer,下文同义)查询的queue信息客户端可能需要从NameServer查询相关的路由信息,但是客户端怎么知道NameServer的地址?有以下四种方式进行配置:
在代码中使用如producer.setNamesrvAddr("ip:port")此类代码 在配置中配置rocketmq.namesrv.addr 配置环境变量NAMESRV_ADDR 直接使用HTTP Endpoint如果以上四种方式都使用了,会有一个生效优先级:
编程方式 配置 环境变量 HTTP Endpoint
Broker:RocketMQ的Broker使用轻量级的Topic和Queue存储消息,并支持容错机制,也就是会备份消息。Broker还提供灾难恢复,统计信息,警报机制。
以上是Broker的模块图,其中包括:
Producer:Producer集群向Broker集群发送消息时,会使用多种的负载均衡机制,以支持fast failure和低延迟
Consumer:Consumer也支持集群部署,同ActiveMQ一样支持消息广播。RocketMQ还支持实时消息订阅机制
最后放上来自官网的RocketMQ,ActiveMQ,Kafka对比图以供参考
20589.html
cxml相关文章
- Python动态生成中文验证码详解编程语言
- python通过代理服务器访问ftp服务详解编程语言
- Java图片转换为base64格式详解编程语言
- java获取资源文件详解编程语言
- 使用 java.awt.Graphics2D 画线详解编程语言
- Java文件处理类详解编程语言
- Day2 CSS详解编程语言
- java策略模式详解编程语言
- JSP表单提交泛起中文乱码的解决方式详解编程语言
- Struts2获取表单数据详解编程语言
- JS正则表达式从入门到入土(2)—— 元字符和字符类详解编程语言
- 《JavaScript DOM编程艺术》学习笔记(一)详解编程语言
- 漂亮的SVG时钟详解编程语言
- ScalaPB(1): using protobuf in akka详解编程语言
- Scala高阶函数实践详解编程语言
- html5对密码加密详解编程语言
- 《Drools7.0.0.Final规则引擎教程》 定时器详解编程语言
- [七]基础数据类型之Float详解编程语言
- Java计算两个时间的时间差详解编程语言
- PHP秒杀系统全方位设计分析(一)详解编程语言
- 控制只能输入小数以及小数点后3位详解编程语言
- 航班预订统计算法详解编程语言
- 初识字符串类型详解编程语言
- 程序新能优化-SQL优化详解编程语言
- 与CONST相关的指针问题(不完全解答)详解编程语言
- springboot 定制启动图案详解编程语言
- PHP实现不用事务mysql的另类方法详解编程语言
- java中由类名和方法名字符串实现其调用【反射机制】详解编程语言
- 自定义JSTL函数标签(一)详解编程语言
- ABAP–关于增强的链接收集详解编程语言
- MyBatis——初识MyBatis与原生接口使用详解编程语言
- RocketMQ——安装RocketMQ详解编程语言
- Servlet——初识Servlet详解编程语言