RocketMQ
softwareDragon
软件工程师一枚
展开
-
RocketMQ 术语与概念 概览
1.Topic(主题) 一类消息的集合,RocketMQ的基本订阅单位 2.消息模型:Producer(生产者,生产消息) Broker(消息代理,存储消息,转发消息) Consumer(消费者,消费消息) 3.部署机构:NameServer(名字服务)生产者/消费者通过名字服务查找各自主题相应的BrokerIp列表(类似与服务发现组件nacos) BrokerServer(代理服务器)消息中转角色 负责存储消息 转发消息 4.消费模式:Pull Consumer(拉取式消费)应用调用Consume原创 2020-09-22 22:42:34 · 196 阅读 · 0 评论 -
RocketMQ 生产环境搭建高性能的MQ服务
1.双主双从模式构建RocketMQ集群 2.保障集群无单点故障问题/高可用集群 3.两台机器分别部署Broker-Master、NameServer 4.两台机器分别部署Broker-Slave、NameServer 红框中的解释:现实中为了节省机器,NameServer部署到每台MQ服务器上,关于NameServer的作用见我的另一篇博客: https://blog.csdn.n...原创 2020-02-01 13:06:50 · 493 阅读 · 0 评论 -
RocketMQ NameServer协调者
从3.x之前使用Zookeeper,之后改成NameServer NameServer是整个集群的状态服务器 NameServer部署,相互独立(相当于热备份) 为什么不用Zookeeper,因为根据业务需要不需要主从选举(相对来说比较重量级),NameServer只需要维护节点的状态和一些元数据信息 NameServer维护的主要信息: private final HashMap<...原创 2020-01-31 22:51:54 · 162 阅读 · 0 评论 -
RocketMQ的消息存储结构 高可用机制
CommitLog(消息内容文件)是以物理文件的形式就行存储,Consume Queue(存储offset的索引)存储消息在CommitLog中的位置信息 RocketMQ的消息存储方式:内存+磁盘存储 两种刷盘方式: 1.异步刷盘:生产者发送消息到消息服务器(Broker),消息只是写到了内存里的pageCach中,然后就返回给生产者发送成功的信息,性能高,当消息占用一定的内存后,会触发一...原创 2020-01-31 20:05:15 · 146 阅读 · 0 评论 -
RocketMQ 消费者push模式
版本为4.3.X 一:集群模式 1.默认采用clustering,采用远程文件存储Offffset 2.本质上因为多消费模式,每个Consumer消费所订阅主题的一部分 3.这种情况需要broker控制offset的值,使用RemoteBrokerOffsetStore 二:广播模式(BroadCasting) 1:广播模式下,由于每个Consumer都会收到消息且消费 2.各个Co...原创 2020-01-28 20:09:46 · 399 阅读 · 0 评论