赞
踩
参考链接:RocketMQ之console监控平台使用详解(三) - 老郭种树-老郭种树
这里很容易看清楚,双击标签可以修改NameSer
的IP+Port
。这里我测试过修改端口,发现重新发送一样的消息,还是能消费。
其实也能理解,因为NameSer
改变了,也只是使得Broker
不能从本地获取最新的路由信息。但是本地还是缓存了路由信息,所以一样的Topic
还是能获取到路由信息,可以获取到路由信息还是能发送到Brokder
。
所以这里我的测试是一次失败的对照测试,但是这个模块平时需求不大,就过了。
此图表较简单,其实是指所有Brokder
处理消息的数量。比如从上图可以看出来,我只有一个Brokder
,并且此Brokder
处理了6条消息。
此图标可以筛选出某个Topic
下5分钟的消息数量。但是可以切换时间,所以就相当于可以查看某个Topic
下的消息数量趋势。
这条趋势曲线有时候貌似不准确,测试过几次有一次在那个时间点并没有变化。
这里有点坑,Cluster
翻译过来叫集群。这里并不是指消费模式中的集群消费,而是指Brokder
的集群部署
但是我这里并没有使用Broker
的集群部署,所以只有一条数据。如果有多个broker
那这里应该有多行数据。
每一行中各项代表的意思如下
Broker
的名字Topic
算是重点之一。
这里的ADD/UPDATE
是有作用的,可以在这里添加一个Topic
,经过测试,感觉在这里意义不大。这里涉及到消息的发送消费与Topic
、Broker
的关系,下篇文章分析。
每一行的Topic
分成如下几个操作按钮
点击第一个[status]按钮。显示如下界面。可以从中获取的信息比较多。该消息队列的Topic
、BrokerName
、queueId
。
这里涉及到发送消息的原理。简单来说
通过一个Topic可以获取到对应的路由信息,路由信息里面维护了消息队列集合,而我们发送消息其实就是通过消息队列发送
消息队列集合是个集合,所以也是有集合的属性。其中每一项就是消息队列,就是如下图的每一行,每一行在集合中的位置就是queueId
点击第二项是保存在NameSer
的路由信息。
这里可能要注意下。保存在NameServer
的路由信息和本地缓存的不一样,本地缓存的属性内容更丰富更多。看看源码吧!
保存在NameSer
的路由对象
-
public
class TopicRouteData extends RemotingSerializable {
-
private
String orderTopicConf;
-
private
List<
QueueData> queueDatas;
-
private
List<
BrokerData> brokerDatas;
-
private
HashMap<
String
/* brokerAddr */,
List<
String>
/* Filter Server */> filterServerTable;
-
}
发现没,其中包含的属性和如上图片类似。
queueDatas
和brokerDatas
,其中queueDatas
包含消息队列的基本情况,读/写的最大数目,brokerDatas
包含Broker
的位置信息。
再看看本地的真正路由信息,如上对象是它的属性。
-
public
class
TopicPublishInfo {
-
private
boolean
orderTopic
=
false;
-
private
boolean
haveTopicRouterInfo
=
false;
-
private List<MessageQueue> messageQueueList =
new
ArrayList<MessageQueue>();
-
private
volatile
ThreadLocalIndex
sendWhichQueue
=
new
ThreadLocalIndex();
-
private TopicRouteData topicRouteData;
-
}
这下很明白了。
第三项[Consumer Manage],看名字也知道啥意思,该Topic
的消费管理。
第四项[Topic Config],修改Topic
的属性,没啥作用,本来代码也可以控制。
第五项[Send Message],向该Topic
发送消息。可以测试玩玩,将Consumer
配置好,然后运行,不通过代码发送,在这里发送消息,Consumer
也能接受到。
没太看懂这每一行代表啥意思。估计是一个Consumer
对象。后面几个按钮点击后,可以看看该Consumer
的具体配置信息,好像没啥东西。
该模块很重要,信息量也很多。
比较容易理解,根据如上三项对Message
分组查询。一般第一项根据Topic
查询比较多。因为据说根据key
去查询有坑。建议id
和Topic
,id
因为唯一最简单。
这是该Topic
下的所有消息,不管是否消费都在内。
Message ID 、Tag 、Key都是消息比较重要的属性。点击右方的按钮,可以看到该消息更加具体的情况。
注意点都用箭头标出来了,其他可能比较容易理解,无非就那几个属性。最后的TrackType
很重要,对于排查问题。该属性的值有好几个,现在看到的几个总结如下
Consumer
并没有运行总共有如下几个
-
public
enum TrackType {
-
CONSUMED,
-
CONSUMED_BUT_FILTERED,
-
PULL,
-
NOT_CONSUME_YET,
-
NOT_ONLINE,
-
UNKNOWN,
-
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。