rocketMq、相关消息队列概念理解整理

为什么要用消息队列?我理解:首先,消息队列一般都是在微服务、分布式的部署方式下使用的。业务系统之间的消息需要传递,通过消息中间件更加友好。Java内部有队列了,为什么要要用MQ?我的理解:Java内部的队列,当不同的应用的消息进行对接时。需要修改源码。但是当我们使用消息中间件解说:JDK中是简单的内存队列原因:系统之间实现代码解耦。限流。消息放在消息队列中,系统有能力去取的时候再进行处理。消息队列一般不能是单机的消息队列中的消息,一般要对接多个系统,消息很重要,都是得集群/分布式的。提
摘要由CSDN通过智能技术生成

rocketMq中的各部分概念组成
NameServer
NameServer也可以有多个
用来保存活跃的broker列表,包括Master和Slave
用来保存所有topic和该topic所有队列的列表
用来保存所有broker的Filter列表
记录维护Topic、Broker的信息,及监控Broker的运行状态
NameServer压⼒不会太⼤,平时主要开销是在维持⼼跳和提供Topic-Broker的关系数据
Broker向NameServer发⼼跳时, 会带上当前⾃⼰所负责的所有Topic信息
//自己:nameServer的存在原因之一是为了实现分布式?
Producer 在发送消息前会根据 Topic 到NameServer 获取到 Broker 的路由信息

Broken(消息代理?)
消息中转⻆⾊,负责存储消息,转发消息。
Broker可以有多个,但是每一个都要和所有的NameServer建立连接
每个Broker与Name Server集群中的所有节点建立长连接,定时注册Topic信息到所有Name Server
每个 Broker 在启动的时候会到 NameServer 注册
Producer 在发送消息前会根据 Topic 到NameServer 获取到 Broker 的路由信息
broken分为master和slave
Broker在RocketMQ中是进⾏处理Producer发送消息请求Consumer消费消息的请求,并且进⾏消息的持久化

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值