RocketMQ简介
启动rocketmq-Dashboard项目 输入 http://localhost:8888/#/ 即可到rocketmq界面
整体横向菜单分为八个部分:
- OPS(运维):主要是设置nameserver和配置vipchannel
- Dashboard(驾驶舱):控制台的dashboard,可以分别按broker和主题来查看消息的数量和趋势。
- Cluster(集群):整个RocketMq的集群情况,包括分片,编号,地址,版本,消息生产和消息消费的TPS等,这个在做性能测试的时候可以作为数据指标。
- Topic(主题):可以新增/更新topic;也看查看topic的信息,如状态,路由,消费者管理和发送消息等。
- Consumer(消费者):可以在当前broker中查看/新建消费者group,包括消费者信息和消费进度
- Producer(生产者):可以在当前broker中查看生产组下的生产者group,包生产者信息和生产者状态
- Message(消息):可以按照topc,messageID,messageKey分别查询具体的消息
其中最常用的是集群,主题,消费者和消息这四部分。
运维这块儿就两个功能:
1.设置Nameserver
2.打开/关闭vipchannnel - 设置nameserver:可以添加多个nameserver地址到输入框内,默认读取的是DashBoard这个springboot启动配置里面的nameserver配置。如果rockermq集群里有加入新的nameserver节点,可以在这里动态配置后更新生效。
- 打开/关闭vipchannel: 这里默认为false就好,vipchannnel针对的是topic的优先级,相当于在消息处理的时候,有些topic可以走vipchannel,可以优先被处理,这个除了电商场景用的一般不多。
驾驶舱消息当前数量和最近的趋势,如图左侧为当前消息总数量,右侧为消息数量趋势。
我们分别解释如下四张图。
1)按broker实例为类目(比如说集群中有3个broker实例)展示当前的消息数
2)按topic为类目(比如说当前所有broker中存在10个topic)展示当前的消息数
3)指定某天和时间段,查询不同broker实例的消息数的趋势
4)指定某天和时间段,查询某topic下消息数的趋势
- 分片:指的是数据分片(或者broker),当前rocketmq集群的只有一个数据分片,id为RaftNode00,即所有数据都在这个分片上;rocketmq的消息数据可以分布在多个数据分片上(一般都是多broker集群),后面搭建集群化环境的时候会讲到。
- 编号:标识了哪些是master(0是master),哪些是slave,master负责直接读写;slave相当于master的副本,定期从master同步数据,如果master挂掉,slave会自动内部选举一个master节点。
- 地址:即broker的实际ip端口。
- 版本:rocketmq的版本
- 生产消息TPS:即broker中处理消息的TPS(每秒落盘的消息数)。
- 消费消息TPS:即consumer从broker中收取消息的TPS(每秒接收的消息数) 。
- 昨日生产总数:昨天落盘的总消息数。
- 昨日消费总数:昨天消费的总消息数。
- 今天生产总数:今天落盘的总消息数。
- 今天消费总数:今天消费的总消息数。
主题里面有三大类型 - 普通主题:这里是rocketmq自动创建的一些系统topic,然后用户创建的topic也展示在这里。
- 重试主题:这里是发送失败时候系统为之创建的topic。
- 死信主题:这里的topic类似垃圾箱,无法从中生产或者消费消息。
学习笔记: https://blog.csdn.net/m0_46486963/article/details/124495728
MQ的优点:
1、异步: 提高系统的响应速度、吞吐量
2、解耦: 服务之间解耦,可以减少服务之间的影响,提高系统的稳定性和可扩展性;同时,可以实现数据分发,一个消息可以由1个或者多个消费者进行消费;
3、削峰: 以稳定的系统资源应对突发的流量冲击;
MQ的缺点:
1、降低系统可用性
2、系统复杂性提高
3、数据幂等性问题
MQ产品比较