未验证 提交 6b150270 编写于 作者: H Haoran Meng 提交者: GitHub

Add documents for cluster (#5987)

* Add documents for cluster

* Add empty line
上级 ca65d961
......@@ -5,12 +5,22 @@ weight = 2
## 背景
TODO
集群状态拓扑用于展示集群中所有节点状态以及节点之间的通信情况。
ShardingSphere基于心跳检测采集并存储在注册中心中的心跳数据,生成集群状态拓扑图,用于更直观展示集群中各个节点的实时状态以及应用节点和数据库节点之间的连接情况。
## 挑战
## 目标
TODO
- 实时展示应用节点和数据库节点状态变更
- 实时展示应用节点和数据库节点之间连接状态
- 数据库节点,如超过一定数量的应用节点与之连接异常,进行告警提醒(更新节点状态)
## 目标
## 节点状态说明
- ONLINE 上线
- OFFLINE 下线
- DISABLED 禁用
- UNKNOWN 未知
## 使用
TODO
集群状态拓扑集成在用户界面中,具体使用可参考`ShardingSphere-UI`项目。
......@@ -5,12 +5,55 @@ weight = 1
## 背景
TODO
ShardingSphere治理模块旨在提供更高效,更自动化的集群管理功能,实现此功能依赖于集群中各个节点的状态信息,而各个节点之间的实时连接状态也是实现自动化集群管理必不可少的。
## 挑战
心跳检测功能负责采集应用程序和数据库之间的实时连接状态,为后续自动化治理和调度提供支持。
TODO
## 方案
## 目标
![设计方案](https://shardingsphere.apache.org/document/current/img/control-panel/cluster/heartbeat.png)
TODO
- 应用程序启动时根据配置初始化心跳检测模块
- 心跳检测模块启动心跳检测任务,定时获取与实例管理的数据库连接并执行心跳检测`SQL`
- 处理心跳检测结果并保存至注册中心
## 数据结构
心跳检测结果保存在注册中心`instances`节点应用实例下:
```
state: ONLINE # 应用实例状态
sharding_db.ds_0: # 逻辑数据库名称.数据源名称
state: ONLINE # 数据源状态
lastConnect: #最后连接时间戳
sharding_db.ds_1:
state: DISABLED
lastConnect:
master_slave_db.master_ds:
state: ONLINE
lastConnect:
master_slave_db.slave_ds_0:
state: ONLINE
lastConnect:
master_slave_db.slave_ds_1:
state: ONLINE
lastConnect:
```
## 使用
### Sharding-Proxy
在ShardingSphere-Proxy 的server.yaml文件中新增以下配置:
```
cluster:
heartbeat:
sql: select 1 # 心跳检测SQL
threadCount: 1 # 心跳检测线程池大小
interval: 60 # 心跳检测任务间隔(s)
retryEnable: false # 是否开启重试,开启后如果检测失败则进行重试直到达到最大重试次数
retryMaximum: 3 # 最大重试次数,开启重试时生效
retryInterval: 3 # 重试间隔(s),开启重试时生效
proxy.cluster.enabled: false # 设置true开始心跳检测,false关闭心跳检测
```
由于心跳检测结果需存储在注册中心,所以使用心跳检测功能需同时开启ShardingSphere[分布式治理](/cn/features/governance/management/)功能。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册