RocketMq-基本概念认识

概念

RocketMq是一款由阿里巴巴开源的消息中间件,所谓消息中间件的意思是消息存放的中转站,他可以存放由服务器(生产者)生产的消息(topic),消息类型可以是字符串、json串等数据类型,服务器(消费者)需要的时候可以提取出来。消息存放的方式是以队列的形式存放,特点是先进先出(先放入的消息先被拿出来)顺序放入拿出。RocketMq特点是高性能、高可用、高实时、分布式。主要作用是解耦、并行转串行减压、分布式事务。

nameserver

nameserver被称为发现服务,是一种无状态的节点,多个nameserve之间不通信。在rocketMq体系中承当中转功能,与producer、consumer、broker与所有的nameserver通信,向nameserver发送或者请求数据,并且是单向通信producer->nameserver、consumer->nameserver、broker->nameserver

broker

broker被称为代理人,是rocketMq最重要的组成部分,

Broker可以集群式,多台服务器使用IP:端口区分,在逻辑来(一台服务器)可以使用brokerName区分。

Producer发送的消息,最终被Broker通过CommitLog序列化到磁盘中,主要存放在目录useHome/store/commitlog中文件名叫总偏移量,序列化到磁盘顺序写入。默认是异步刷盘

Broker分为master和slave,一个master可以对应多个slave,一个slave只能对应一个master,master与slave绑定通过指定相同的BrokerName、不同的BrokerId,其中BrokerId为0的是Master。每个Broker与所有的nameserver保持长连接,定时把topic注册到nameserver。

broker主要功能是持久化消息、Broker集群一致性(HA)、保存历史消息、保存consumer消息消费偏移量、索引创建等。

producer

producer被称为生产者,是消息的来源,可以分布式(最细颗粒是线程,一个线程就是一个producer)。

producer与nameserver集群某一个节点保持长连接(随机选择、不同于上一次),定时获取topic路由信息,producer与提供topic服务的master保持长连接,并且定时发送心跳。

consumer

consumer被称为消费者,是消息消耗方,可以分布式(最细颗粒是线程,一个线程就是一个consumer)。

consumer与nameserver集群某一个节点保持长连接(随机选择、不同于上一次),定时获取topic路由信息,consumer与提供topic服务的master、slave保持长连接,并且定时发送心跳,consumer可以从master订阅消息,也可以从slave订阅。

Producer Group

Producer Group被称为生产者组,是由多个producer组成,可以发送多个topic。作用:

1、标识一类producer,

2、通过运维工具可以查看消息下属的所有producer

3、在分布式事务中,如果producer中途宕机了,broker主动回调同Producer Group内任意一个producer确认事务状态

Consumer Group

Consumer Group被称为消费者组,是有多个consumer组成,同Producer Group内的consumer以平摊的方式消费消息,如果设置为广播形式,这每个consumer都会全量消费消息。

 

参考:https://blog.csdn.net/li_xiao_dai/article/details/79917875

参考:https://blog.csdn.net/qq_32711825/article/details/78579864

参考:https://blog.csdn.net/qq_27529917/article/details/79871052

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值