1.nameServer集群
nameserver用来存储每台broker的节点信息,
检测broker的心跳,每10s检测一次,超过120s没有心跳的broker会从nameserver注册表中剔除
生产者和消费者都会从nameserver中获取broker的节点信息来决定如何写入mq和从mq中消费信息
2.broker
broker分为一主二从即一个master节点两个slave节点,数据有三份一样的
采用Dledger主备自动切换
每30s会发送心跳给nameserver
会把自己的信息注册给每一台nameserver
3.topic
消息主题
4.可视化管理
使用rocketmq-externals.git
5.解决数据库被第三方查库,解耦合的问题
采用MySQL Binlog系统(基于binlog主从复制的原理),比如Canal
用来监听Mysql binlog,然后将binlog发送出去交给其他系统去同步数据库