diff --git a/README.md b/README.md index 0ec209e1af..b12e22a18c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ It offers a variety of features: * Messaging patterns including publish/subscribe, request/reply and streaming * Financial grade transactional message -* Built-in fault tolerance and high availability configuration options base on [DLedger](https://github.com/openmessaging/openmessaging-storage-dledger) +* Built-in fault tolerance and high availability configuration options base on [DLedger Controller](docs/cn/controller/quick_start.md) * Built-in message tracing capability, also support opentracing * Versatile big-data and streaming ecosystem integration * Message retroactivity by time or offset diff --git a/docs/cn/README.md b/docs/cn/README.md index 4c5aa960d0..13ca985aec 100644 --- a/docs/cn/README.md +++ b/docs/cn/README.md @@ -26,18 +26,20 @@ - [消息轨迹指南(Message Trace)](msg_trace/user_guide.md):介绍RocketMQ消息轨迹的使用方法。 - [权限管理(Auth Management)](acl/user_guide.md):介绍如何快速部署和使用支持权限控制特性的RocketMQ集群。 - [自动主从切换快速开始](controller/quick_start.md):RocketMQ 5.0 自动主从切换快速开始。 -- [自动主从切换部署部署升级指南](controller/deploy_guide.md):RocketMQ 5.0 自动主从切换部署和升级指南。 +- [自动主从切换部署升级指南](controller/deploy.md):RocketMQ 5.0 自动主从切换部署升级指南。 ### 5. 运维管理 - [集群部署(Operation)](operation.md):介绍单Master模式、多Master模式、多Master多slave模式等RocketMQ集群各种形式的部署方法以及运维工具mqadmin的使用方式。 ### 6. RocketMQ 5.0 新特性 + - [POP消费](https://github.com/apache/rocketmq/wiki/%5BRIP-19%5D-Server-side-rebalance,--lightweight-consumer-client-support) - [StaticTopic](RocketMQ_Static_Topic_Logic_Queue_设计.md) - [BatchConsumeQueue](https://github.com/apache/rocketmq/wiki/RIP-26-Improve-Batch-Message-Processing-Throughput) - [自动主从切换](controller/design.md) - [BrokerContainer](BrokerContainer.md) - [SlaveActingMaster模式](SlaveActingMasterMode.md) +- [Grpc Proxy](../../proxy/README.md) ### 7. API Reference(待补充) diff --git a/docs/cn/controller/deploy.md b/docs/cn/controller/deploy.md index 98f1fcf38d..8b93a1861c 100644 --- a/docs/cn/controller/deploy.md +++ b/docs/cn/controller/deploy.md @@ -4,7 +4,7 @@ 若需要保证Controller具备容错能力,Controller部署需要三副本及以上(遵循Raft的多数派协议)。 -> Controller若只部署单副本也能完成Broker Failover,只是若该单点Controller故障,会影响切换能力,但不会影响存量集群的正常收发。 +> Controller若只部署单副本也能完成Broker Failover,但若该单点Controller故障,会影响切换能力,但不会影响存量集群的正常收发。 Controller部署有两种方式。一种是嵌入于NameServer进行部署,可以通过配置enableControllerInNamesrv打开(可以选择性打开,并不强制要求每一台NameServer都打开),在该模式下,NameServer本身能力仍然是无状态的,也就是内嵌模式下若NameServer挂掉多数派,只影响切换能力,不影响原来路由获取等功能。另一种是独立部署,需要单独部署Controller组件。 @@ -76,7 +76,7 @@ Broker启动方法与之前相同,增加以下参数 总结来说: - 普通Master-Slave下无自动降级能力,除了inSyncReplicas其他参数均无效,inSyncReplicas表示同步复制下需要ACK的副本数。 -- slaveActingMaster模式下开启enableAutoInSyncReplicas有降级能力,最小可降级到minInSyncReplicas副本数,降级判断依据是主备Commitlog高度差(haMaxGapNotInSync)以及副本存活情况,参考[自动降级](../QuorumACK.md)。 +- slaveActingMaster模式下开启enableAutoInSyncReplicas有降级能力,最小可降级到minInSyncReplicas副本数,降级判断依据是主备Commitlog高度差(haMaxGapNotInSync)以及副本存活情况,参考[slaveActingMaster模式自动降级](../QuorumACK.md)。 - 自动主从切换(Controller模式)依赖SyncStateSet的收缩进行自动降级,SyncStateSet副本数最小收缩到minInSyncReplicas仍能正常工作,小于minInSyncReplicas直接返回副本数不足,收缩依据之一是Slave跟上的时间间隔(haMaxTimeSlaveNotCatchup)而非Commitlog高度。若allAckInSyncStateSet=true,则inSyncReplicas参数无效。 ## 兼容性 diff --git a/docs/cn/controller/quick_start.md b/docs/cn/controller/quick_start.md index 7b836adc9b..770d1f6495 100644 --- a/docs/cn/controller/quick_start.md +++ b/docs/cn/controller/quick_start.md @@ -2,7 +2,11 @@ ## 前言 -该文档主要介绍如何快速构建自动主从切换的 RocketMQ 集群。 +![架构图](../image/controller/controller_design_2.png) + +该文档主要介绍如何快速构建自动主从切换的 RocketMQ 集群,其架构如上图所示, 主要增加支持自动主从切换的Controller组件,其可以独立部署也可以内嵌在NameServer中。 + +详细设计思路请参考 [设计思想](design.md). 详细的新集群部署和旧集群升级指南请参考 [部署指南](deploy.md)。 diff --git a/docs/cn/image/controller/controller_design_2.png b/docs/cn/image/controller/controller_design_2.png new file mode 100644 index 0000000000..a82339472e Binary files /dev/null and b/docs/cn/image/controller/controller_design_2.png differ