This is an automated email from the ASF dual-hosted git repository.
wangdan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus-website.git
The following commit(s) were added to refs/heads/master by this push:
new 17bb17eb Update architecture docs (#44)
17bb17eb is described below
commit 17bb17ebb6693c6aa30801838b6b9bf5845ac963
Author: Yingchun Lai <[email protected]>
AuthorDate: Mon Dec 18 14:59:01 2023 +0800
Update architecture docs (#44)
https://github.com/apache/incubator-pegasus/issues/1714
---
_overview/en/architecture.md | 39 ++++++++++++++++++++++++++++++++++++++-
_overview/zh/architecture.md | 44 ++++++++++++++++++++++----------------------
2 files changed, 60 insertions(+), 23 deletions(-)
diff --git a/_overview/en/architecture.md b/_overview/en/architecture.md
index d67be022..818f9baf 100644
--- a/_overview/en/architecture.md
+++ b/_overview/en/architecture.md
@@ -2,4 +2,41 @@
permalink: /overview/architecture
---
-TRANSLATING
+## Overall architecture
+
+The overall architecture of the Pegasus is shown in the following figure,
which is divided into four parts:
+* Client Lib: Encapsulates the mapping rules of user data to the storage
server (Replica Server), as well as the communication details with the storage
server, and provides a concise Key-Value access interfaces for users to use
+* Replica Server: Responsible for data storage and responding to data access
requests from Client Lib
+* Meta Server: Responsible for the Replica Server survival detection, data
sharding management, load balancing, etc. Usually, a deployment mode of
one-leader and multiple-backups is adopted
+* Zookeeper: Responsible for selecting the leader between the Meta Servers to
achieve high availability, and store various metadata of the cluster
+
+{:class="img-responsive"}
+
+## Replica Server
+
+Replica Server is mainly responsible for data storage and access. Provide
services using replica as the management unit:
+* The serving replica can be in the role of either primary replica or
secondary replica
+* Using RocksDB as the storage engine at the underlying level
+* Manage commit logs and implement data replication protocols to ensure data
consistency
+
+## Meta Server
+
+The Meta Servers usually adopted in the deployment mode of one-leader and
multiple-backups, and all states are persisted to the Zookeeper and the leader
is selected through the Zookeeper. When the leader fails, another backup
immediately grabs the lock and restores its state from the Zookeeper, becoming
the new leader. The functions that Meta Servers are responsible for include:
+* Cluster initialization
+* Management of Replica Servers
+* Assignment, management, and load balancing scheduling of replicas
+* Creating and deleting tables
+* Respond to client requests and provide the latest routing table (partition
configuration) to the client
+
+## Apache Zookeeper
+
+In Pegasus, Zookeeper has two main functions:
+* Cluster metadata storage
+* Meta Server leader selection
+
+## Client Lib
+
+Client Lib provides users with data access interfaces, including features:
+* Concise interfaces: Provides simple interfaces for users, encapsulating
details such as data locating and fault tolerance internally
+* Simple configuration: Users only need to specify the Meta Server addresses
list through the configuration file to access the Pegasus cluster
+* Try to interact directly with Replica Servers and minimize access frequency
to Meta Servers to avoid single-point issues, and don't rely on Zookeeper
diff --git a/_overview/zh/architecture.md b/_overview/zh/architecture.md
index a757ad64..e2d17464 100644
--- a/_overview/zh/architecture.md
+++ b/_overview/zh/architecture.md
@@ -6,42 +6,42 @@ permalink: /overview/architecture
Pegasus系统的整体架构如下图所示,一共分为四个部分:
-- **Client Lib**:封装数据到存储服务器的映射规则,以及和存储服务器的通信细节,而提供一套简洁的Key-Value存取接口供用户使用
-- **Replica Server**:负责数据存储,响应Client Lib的数据存取请求
-- **Meta Server**:负责Replica Server的存活检测、数据分片(replica)管理、负载均衡等,采用一主多备模式
-- **Zookeeper**:负责对Meta Server进行选主,以实现leader节点的高可用,并存储系统的各种元数据
+* Client Lib:封装数据到存储服务器的映射规则,以及和存储服务器(Replica
Server)的通信细节,而提供一套简洁的Key-Value存取接口供用户使用
+* Replica Server:负责数据存储,响应Client Lib的数据存取请求
+* Meta Server:负责Replica Server的存活检测、数据分片(replica)管理、负载均衡等,通常采用一主多备的部署模式
+* Zookeeper:负责对Meta Server进行选主,以实现leader节点的高可用,并存储系统的各种元数据
{:class="img-responsive"}
## Replica Server
-Replica Server主要负责数据存储和存取,以replica为单位进行服务:
+Replica Server主要负责数据存储和存取,以replica为管理单元提供服务:
-- 服务的replica既可能是Primary Replica,也可能是Secondary Replica
-- 底层使用RocksDB来存储数据
-- 管理commit log,并实现数据复制协议,提供数据一致性保证
+* 服务的replica角色既可能是主(primary)副本,也可能是从(secondary)副本
+* 底层使用RocksDB来存储数据
+* 管理commit log,并实现数据复制协议,提供数据一致性保证
## Meta Server
-Meta
Server采用一主多备模式,所有的状态都会持久化到Zookeeper上,同时通过Zookeeper进行选主。当leader故障后,另一台backup立即抢到锁,然后从Zookeeper上恢复状态,成为新的leader。Meta
Server负责的功能包括:
+Meta
Server通常采用一主多备的部署模式,所有的状态都会持久化到Zookeeper上,同时通过Zookeeper进行选主。当leader故障后,另一台backup立即抢到锁,然后从Zookeeper上恢复状态,成为新的leader。Meta
Server负责的功能包括:
-- 系统初始化
-- Replica Server的管理
-- Replica的分配、管理和负载均衡调度
-- Table的创建与删除
-- 响应Client请求,对Client提供最新的路由表
+* 集群初始化
+* Replica Server的管理
+* Replica的分配、管理和负载均衡调度
+* Table的创建与删除
+* 响应Client请求,对Client提供最新的路由表(partition configuration)
-## Zookeeper
+## Apache Zookeeper
-Zookeeper主要有两个功能:
+在Pegasus中,Zookeeper主要有两个功能:
-- 系统元信息存储
-- Meta Server选主
+* 集群元信息存储
+* Meta Server选主
## Client Lib
-Client Lib对用户提供数据存取接口,特点:
+Client Lib对用户提供数据存取接口,其特点包括:
-- 接口简洁:对用户提供最简单的接口,将寻址和容错等细节封装在内部
-- 配置简单:用户只需通过配置文件指定Meta Server地址列表,就可以访问集群
-- 尽量直接与Replica Server进行交互,尽量少地访问Meta Server以避免单点问题,不依赖Zookeeper
+* 接口简洁:对用户提供简单的接口,将数据寻址和容错等细节封装在内部
+* 配置简单:用户只需通过配置文件指定Meta Server地址列表,就可以访问Pegasus集群
+* 尽量直接与Replica Server进行交互,尽量少地访问Meta Server的频率以避免单点问题,不依赖Zookeeper
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]