You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by me...@apache.org on 2021/11/08 12:03:19 UTC

[shardingsphere] branch master updated: Add document of HA (#13502)

This is an automated email from the ASF dual-hosted git repository.

menghaoran pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 43648f1  Add document of HA (#13502)
43648f1 is described below

commit 43648f1931b8004e5e764fba63c7903871877bb0
Author: Liang Zhang <te...@163.com>
AuthorDate: Mon Nov 8 20:02:41 2021 +0800

    Add document of HA (#13502)
    
    * Add index of HA
    
    * Add concept of HA
---
 .../document/content/features/encrypt/_index.cn.md |  4 ++--
 .../document/content/features/encrypt/_index.en.md |  4 ++--
 docs/document/content/features/ha/_index.cn.md     | 25 ++++++++++++++++++++
 docs/document/content/features/ha/_index.en.md     | 27 ++++++++++++++++++++++
 docs/document/content/features/ha/concept.cn.md    | 14 +++++++++++
 docs/document/content/features/ha/concept.en.md    | 14 +++++++++++
 .../content/features/observability/_index.cn.md    |  4 ++--
 .../content/features/observability/_index.en.md    |  4 ++--
 .../document/content/features/scaling/_index.cn.md |  4 ++--
 .../document/content/features/scaling/_index.en.md |  4 ++--
 docs/document/content/features/shadow/_index.cn.md |  4 ++--
 docs/document/content/features/shadow/_index.en.md |  4 ++--
 12 files changed, 96 insertions(+), 16 deletions(-)

diff --git a/docs/document/content/features/encrypt/_index.cn.md b/docs/document/content/features/encrypt/_index.cn.md
index ca6b0b1..ec48f3d 100644
--- a/docs/document/content/features/encrypt/_index.cn.md
+++ b/docs/document/content/features/encrypt/_index.cn.md
@@ -1,7 +1,7 @@
 +++
-pre = "<b>4.7. </b>"
+pre = "<b>4.8. </b>"
 title = "数据加密"
-weight = 7
+weight = 8
 chapter = true
 +++
 
diff --git a/docs/document/content/features/encrypt/_index.en.md b/docs/document/content/features/encrypt/_index.en.md
index dff3a16..a0d7bb5 100644
--- a/docs/document/content/features/encrypt/_index.en.md
+++ b/docs/document/content/features/encrypt/_index.en.md
@@ -1,7 +1,7 @@
 +++
-pre = "<b>4.7. </b>"
+pre = "<b>4.8. </b>"
 title = "Encryption"
-weight = 7
+weight = 8
 chapter = true
 +++
 
diff --git a/docs/document/content/features/ha/_index.cn.md b/docs/document/content/features/ha/_index.cn.md
new file mode 100644
index 0000000..2377311
--- /dev/null
+++ b/docs/document/content/features/ha/_index.cn.md
@@ -0,0 +1,25 @@
++++
+pre = "<b>4.6. </b>"
+title = "高可用"
+weight = 6
+chapter = true
++++
+
+## 背景
+
+高可用是现代系统的最基本诉求,作为系统基石的数据库,对于高可用的要求也是必不可少的。
+
+在存算分离的分布式数据库体系中,存储节点和计算节点的高可用方案是不同的。
+对于有状态的存储节点来说,需要其自身具备数据一致性同步、探活、主节点选举等能力;
+对于无状态的计算节点来说,需要感知存储节点的变化的同时,还需要独立架设负载均衡器,并具备服务发现和请求分发的能力。
+
+Apache ShardingSphere 自身提供计算节点,并通过数据库作为存储节点。
+因此,它采用的高可用方案是利用数据库自身的高可用方案做存储节点高可用,并自动识别其变化。
+
+## 挑战
+
+Apache ShardingSphere 需要自动感知多样化的存储节点高可用方案的同时,也能够动态集成对读写分离方案,是实现的主要挑战。
+
+## 目标
+
+**尽可能的保证 7*24 小时不间断的数据库服务,是 Apache ShardingSphere 高可用模块的主要设计目标。**
diff --git a/docs/document/content/features/ha/_index.en.md b/docs/document/content/features/ha/_index.en.md
new file mode 100644
index 0000000..d57d07e
--- /dev/null
+++ b/docs/document/content/features/ha/_index.en.md
@@ -0,0 +1,27 @@
++++
+pre = "<b>4.6. </b>"
+title = "HA"
+weight = 6
+chapter = true
++++
+
+## Background
+
+High availability is the most basic requirement of modern systems.
+As the cornerstone of the system, the database is also essential for high availability.
+
+In the distributed database system with storage-compute splitting, the high availability solution of storage node and compute node are different.
+The stateful storage nodes need to pay attention to data consistency, health detection, primary node election and so on;
+The stateless compute nodes need to detect the changes of storage nodes, they also need to set up an independent load balancer and have the ability of service discovery and request distribution.
+
+Apache ShardingSphere provides compute nodes and reuse database as storage nodes.
+Therefore, the high availability solution it adopts is to use the high availability solution of the database itself as the high availability of the storage node, and detect the changes automatically.
+
+## Challenges
+
+Apache ShardingSphere needs to detect high availability solution of diversified storage nodes automatically,
+and can also integrate the readwrite splitting dynamically, which is the main challenge of implementation.
+
+## Goal
+
+**The main goal of Apache ShardingSphere high availability module which is ensuring 7 * 24-hour uninterrupted database service as much as possible.**
diff --git a/docs/document/content/features/ha/concept.cn.md b/docs/document/content/features/ha/concept.cn.md
new file mode 100644
index 0000000..9a11aaa
--- /dev/null
+++ b/docs/document/content/features/ha/concept.cn.md
@@ -0,0 +1,14 @@
++++
+title = "核心概念"
+weight = 1
++++
+
+## 高可用类型
+
+Apache ShardingSphere 不提供数据库高可用的能力,它通过第三方提供的高可用方案感知数据库主从关系的切换。
+确切来说,Apache ShardingSphere 提供数据库发现的能力,自动感知数据库主从关系,并修正计算节点对数据库的连接。
+
+## 动态读写分离
+
+高可用和读写分离一起使用时,读写分离无需配置具体的主库和从库。
+高可用的数据源会动态的修正读写分离的主从关系,并正确的疏导读写流量。
diff --git a/docs/document/content/features/ha/concept.en.md b/docs/document/content/features/ha/concept.en.md
new file mode 100644
index 0000000..a9e5406
--- /dev/null
+++ b/docs/document/content/features/ha/concept.en.md
@@ -0,0 +1,14 @@
++++
+title = "Core Concept"
+weight = 1
++++
+
+## high Availability Type
+
+Apache ShardingSphere does not provide high availability solution of database, it reuses 3rd party high availability solution and auto-detect switch of primary and replica databases.
+Specifically, the ability of Apache ShardingSphere provided is database discovery, detect the primary and replica databases automatically, and updates the connection of compute nodes to the databases.
+
+## Dynamic Readwrite-Splitting
+
+When high availability and readwrite-splitting are used together, there is unnecessary to configure specific primary and replica databases for readwrite-splitting.
+Highly available data sources will update the primary and replica databases of readwrite-splitting dynamically, and route the query and update SQL correctly.
diff --git a/docs/document/content/features/observability/_index.cn.md b/docs/document/content/features/observability/_index.cn.md
index a8628e3..39e14f3 100644
--- a/docs/document/content/features/observability/_index.cn.md
+++ b/docs/document/content/features/observability/_index.cn.md
@@ -1,7 +1,7 @@
 +++
-pre = "<b>4.9. </b>"
+pre = "<b>4.10. </b>"
 title = "可观察性"
-weight = 9
+weight = 10
 chapter = true
 +++
 
diff --git a/docs/document/content/features/observability/_index.en.md b/docs/document/content/features/observability/_index.en.md
index d043dae..022a6b6 100644
--- a/docs/document/content/features/observability/_index.en.md
+++ b/docs/document/content/features/observability/_index.en.md
@@ -1,7 +1,7 @@
 +++
-pre = "<b>4.9. </b>"
+pre = "<b>4.10. </b>"
 title = "Observability"
-weight = 9
+weight = 10
 chapter = true
 +++
 
diff --git a/docs/document/content/features/scaling/_index.cn.md b/docs/document/content/features/scaling/_index.cn.md
index 2f287b7..ed6dd33 100644
--- a/docs/document/content/features/scaling/_index.cn.md
+++ b/docs/document/content/features/scaling/_index.cn.md
@@ -1,7 +1,7 @@
 +++
-pre = "<b>4.6. </b>"
+pre = "<b>4.7. </b>"
 title = "弹性伸缩"
-weight = 6
+weight = 7
 chapter = true
 +++
 
diff --git a/docs/document/content/features/scaling/_index.en.md b/docs/document/content/features/scaling/_index.en.md
index 6660686..e6b2e84 100644
--- a/docs/document/content/features/scaling/_index.en.md
+++ b/docs/document/content/features/scaling/_index.en.md
@@ -1,7 +1,7 @@
 +++
-pre = "<b>4.6. </b>"
+pre = "<b>4.7. </b>"
 title = "Scaling"
-weight = 6
+weight = 7
 chapter = true
 +++
 
diff --git a/docs/document/content/features/shadow/_index.cn.md b/docs/document/content/features/shadow/_index.cn.md
index 6d0fe2b..986f785 100644
--- a/docs/document/content/features/shadow/_index.cn.md
+++ b/docs/document/content/features/shadow/_index.cn.md
@@ -1,7 +1,7 @@
 +++
-pre = "<b>4.8. </b>"
+pre = "<b>4.9. </b>"
 title = "影子库压测"
-weight = 8
+weight = 9
 chapter = true
 +++
 
diff --git a/docs/document/content/features/shadow/_index.en.md b/docs/document/content/features/shadow/_index.en.md
index c91c90d..fafcd41 100644
--- a/docs/document/content/features/shadow/_index.en.md
+++ b/docs/document/content/features/shadow/_index.en.md
@@ -1,7 +1,7 @@
 +++
-pre = "<b>4.8. </b>"
+pre = "<b>4.9. </b>"
 title = "Shadow DB"
-weight = 8
+weight = 9
 chapter = true
 +++