Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ public void updateTopicUnitFlag(final String topic, final boolean unit) {
topicConfig.setTopicSysFlag(TopicSysFlag.clearUnitFlag(oldTopicSysFlag));
}

log.info("update topic sys flag. oldTopicSysFlag={}, newTopicSysFlag", oldTopicSysFlag,
log.info("update topic sys flag. oldTopicSysFlag={}, newTopicSysFlag={}", oldTopicSysFlag,
topicConfig.getTopicSysFlag());

this.topicConfigTable.put(topic, topicConfig);
Expand All @@ -338,9 +338,11 @@ public void updateTopicUnitSubFlag(final String topic, final boolean hasUnitSub)
int oldTopicSysFlag = topicConfig.getTopicSysFlag();
if (hasUnitSub) {
topicConfig.setTopicSysFlag(TopicSysFlag.setUnitSubFlag(oldTopicSysFlag));
} else {
topicConfig.setTopicSysFlag(TopicSysFlag.clearUnitSubFlag(oldTopicSysFlag));
}

log.info("update topic sys flag. oldTopicSysFlag={}, newTopicSysFlag", oldTopicSysFlag,
log.info("update topic sys flag. oldTopicSysFlag={}, newTopicSysFlag={}", oldTopicSysFlag,
topicConfig.getTopicSysFlag());

this.topicConfigTable.put(topic, topicConfig);
Expand Down
6 changes: 3 additions & 3 deletions docs/cn/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ RocketMQ架构上主要分为四部分,如上图所示:

- Consumer:消息消费的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对消息进行消费。同时也支持集群方式和广播方式的消费,它提供实时消息订阅机制,可以满足大多数用户的需求。

- NameServer:NameServer是一个非常简单的Topic路由注册中心,其角色类似Dubbo中的zookeeper,支持Broker的动态注册与发现。主要包括两个功能:Broker管理,NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活;路由信息管理,每个NameServer将保存关于Broker集群的整个路由信息和用于客户端查询的队列信息。然后Producer和Conumser通过NameServer就可以知道整个Broker集群的路由信息,从而进行消息的投递和消费。NameServer通常也是集群的方式部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息,所以每一个NameServer实例上面都保存一份完整的路由信息。当某个NameServer因某种原因下线了,Broker仍然可以向其它NameServer同步其路由信息,Producer,Consumer仍然可以动态感知Broker的路由的信息
- NameServer:NameServer是一个非常简单的Topic路由注册中心,其角色类似Dubbo中的zookeeper,支持Broker的动态注册与发现。主要包括两个功能:Broker管理,NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活;路由信息管理,每个NameServer将保存关于Broker集群的整个路由信息和用于客户端查询的队列信息。然后Producer和Conumser通过NameServer就可以知道整个Broker集群的路由信息,从而进行消息的投递和消费。NameServer通常也是集群的方式部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息,所以每一个NameServer实例上面都保存一份完整的路由信息。当某个NameServer因某种原因下线了,Broker仍然可以向其它NameServer同步其路由信息,Producer和Consumer仍然可以动态感知Broker的路由的信息

- BrokerServer:Broker主要负责消息的存储、投递和查询以及服务高可用保证,为了实现这些功能,Broker包含了以下几个重要子模块。
1. Remoting Module:整个Broker的实体,负责处理来自clients端的请求
2. Client Manager:负责管理客户端(Producer/Consumer)和维护Consumer的Topic订阅信息
1. Remoting Module:整个Broker的实体,负责处理来自Client端的请求
2. Client Manager:负责管理客户端(Producer/Consumer)和维护Consumer的Topic订阅信息
3. Store Service:提供方便简单的API接口处理消息存储到物理硬盘和查询功能。
4. HA Service:高可用服务,提供Master Broker 和 Slave Broker之间的数据同步功能。
5. Index Service:根据特定的Message key对投递到Broker的消息进行索引服务,以提供消息的快速查询。
Expand Down
26 changes: 13 additions & 13 deletions docs/cn/client/java/API_Reference_DefaultMQProducer.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,19 +54,19 @@ public class Producer {
|int|retryTimesWhenSendAsyncFailed|异步模式下内部尝试发送消息的最大次数|
|boolean|retryAnotherBrokerWhenNotStoreOK|是否在内部发送失败时重试另一个broker|
|int|maxMessageSize|消息的最大长度|
|TraceDispatcher|traceDispatcher|消息追踪器。使用rcpHook来追踪消息|
|TraceDispatcher|traceDispatcher|基于RPCHooK实现的消息轨迹插件|

### 构造方法摘要

|方法名称|方法描述|
|-------|------------|
|DefaultMQProducer()|由默认参数值创建一个生产者 |
|DefaultMQProducer(final String producerGroup)|使用指定的分组名创建一个生产者|
|DefaultMQProducer(final String producerGroup, boolean enableMsgTrace)|使用指定的分组名创建一个生产者,并设置是否开启消息追踪|
|DefaultMQProducer(final String producerGroup, boolean enableMsgTrace, final String customizedTraceTopic)|使用指定的分组名创建一个生产者,并设置是否开启消息追踪及追踪topic的名称|
|DefaultMQProducer(final String producerGroup, boolean enableMsgTrace)|使用指定的分组名创建一个生产者,并设置是否开启消息轨迹|
|DefaultMQProducer(final String producerGroup, boolean enableMsgTrace, final String customizedTraceTopic)|使用指定的分组名创建一个生产者,并设置是否开启消息轨迹及追踪topic的名称|
|DefaultMQProducer(RPCHook rpcHook)|使用指定的hook创建一个生产者|
|DefaultMQProducer(final String producerGroup, RPCHook rpcHook)|使用指定的分组名及自定义hook创建一个生产者|
|DefaultMQProducer(final String producerGroup, RPCHook rpcHook, boolean enableMsgTrace,final String customizedTraceTopic)|使用指定的分组名及自定义hook创建一个生产者,并设置是否开启消息追踪及追踪topic的名称|
|DefaultMQProducer(final String producerGroup, RPCHook rpcHook, boolean enableMsgTrace,final String customizedTraceTopic)|使用指定的分组名及自定义hook创建一个生产者,并设置是否开启消息轨迹及追踪topic的名称|

### 使用方法摘要

Expand Down Expand Up @@ -204,7 +204,7 @@ public class Producer {

`private TraceDispatcher traceDispatcher = null`

在开启消息追踪后,该类通过hook的方式把消息生产者,消息存储的broker和消费者消费消息的信息像链路一样记录下来。在构造生产者时根据构造入参enableMsgTrace来决定是否创建该对象。
在开启消息轨迹后,该类通过hook的方式把消息生产者,消息存储的broker和消费者消费消息的信息像链路一样记录下来。在构造生产者时根据构造入参enableMsgTrace来决定是否创建该对象。

### 构造方法详细信息

Expand All @@ -230,29 +230,29 @@ public class Producer {

`DefaultMQProducer(final String producerGroup, boolean enableMsgTrace)`

使用指定的分组名创建一个生产者,并设置是否开启消息追踪
使用指定的分组名创建一个生产者,并设置是否开启消息轨迹

- 入参描述:

参数名 | 类型 | 是否必须 | 缺省值 |描述
---|---|---|---|---
producerGroup | String | 是 | DEFAULT_PRODUCER | 生产者的分组名称
enableMsgTrace | boolean | 是 | false |是否开启消息追踪
enableMsgTrace | boolean | 是 | false |是否开启消息轨迹

4. DefaultMQProducer

`DefaultMQProducer(final String producerGroup, boolean enableMsgTrace, final String customizedTraceTopic)`

使用指定的分组名创建一个生产者,并设置是否开启消息追踪及追踪topic的名称
使用指定的分组名创建一个生产者,并设置是否开启消息轨迹及追踪topic的名称
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

“追踪topic”与下文 “轨迹topic”不一致


- 入参描述:

参数名 | 类型 | 是否必须 | 缺省值 |描述
---|---|---|---|---
producerGroup | String | 是 | DEFAULT_PRODUCER | 生产者的分组名称
rpcHook | RPCHook | 否 | null |每个远程命令执行后会回调rpcHook
enableMsgTrace | boolean | 是 | false |是否开启消息追踪
customizedTraceTopic | String | 否 | RMQ_SYS_TRACE_TOPIC | 消息跟踪topic的名称
enableMsgTrace | boolean | 是 | false |是否开启消息轨迹
customizedTraceTopic | String | 否 | RMQ_SYS_TRACE_TOPIC | 消息轨迹topic的名称

5. DefaultMQProducer

Expand Down Expand Up @@ -283,16 +283,16 @@ public class Producer {

`DefaultMQProducer(final String producerGroup, RPCHook rpcHook, boolean enableMsgTrace,final String customizedTraceTopic)`

使用指定的分组名及自定义hook创建一个生产者,并设置是否开启消息追踪及追踪topic的名称
使用指定的分组名及自定义hook创建一个生产者,并设置是否开启消息轨迹及追踪topic的名称

- 入参描述:

参数名 | 类型 | 是否必须 | 缺省值 |描述
---|---|---|---|---
producerGroup | String | 是 | DEFAULT_PRODUCER | 生产者的分组名称
rpcHook | RPCHook | 否 | null |每个远程命令执行后会回调rpcHook
enableMsgTrace | boolean | 是 | false |是否开启消息追踪
customizedTraceTopic | String | 否 | RMQ_SYS_TRACE_TOPIC | 消息跟踪topic的名称
enableMsgTrace | boolean | 是 | false |是否开启消息轨迹
customizedTraceTopic | String | 否 | RMQ_SYS_TRACE_TOPIC | 消息轨迹topic的名称

### 使用方法详细信息

Expand Down