From c4c9c7595db95a9d753b77dd4d9b8405ae8c1c9d Mon Sep 17 00:00:00 2001 From: husharp Date: Thu, 21 Mar 2024 15:48:28 +0800 Subject: [PATCH 01/14] move pd-microservice.md to doc Signed-off-by: husharp --- TOC.md | 1 + pd-microservices.md | 68 +++++++++++++++++++++++++++++++++++++++++ tiup/tiup-playground.md | 11 +++++++ 3 files changed, 80 insertions(+) create mode 100644 pd-microservices.md diff --git a/TOC.md b/TOC.md index fc615d2767ea..a2f4ee8231b2 100644 --- a/TOC.md +++ b/TOC.md @@ -321,6 +321,7 @@ - [Load Base Split 使用文档](/configure-load-base-split.md) - [Store Limit 使用文档](/configure-store-limit.md) - [DDL 执行原理及最佳实践](/ddl-introduction.md) + - [PD 微服务使用文档](/pd-microservices.md) - TiDB 工具 - [功能概览](/ecosystem-tool-user-guide.md) - [使用场景](/ecosystem-tool-user-case.md) diff --git a/pd-microservices.md b/pd-microservices.md new file mode 100644 index 000000000000..d0048f0e94e4 --- /dev/null +++ b/pd-microservices.md @@ -0,0 +1,68 @@ +--- +title: PD 微服务 +summary: 介绍如何开启 PD 微服务模式提高服务质量。 +--- + +# PD 微服务 + +从 v8.0.0 开始,PD 支持微服务模式。该模式可将 PD 的时间戳分配和集群调度功能拆分为以下微服务单独部署,从而与 PD 的路由功能解耦,让 PD 专注于元数据的路由服务。 + +- TSO 微服务:为整个集群提供单调递增的时间戳分配。 +- Scheduling 微服务:为整个集群提供调度功能,包括但不限于负载均衡、热点处理、副本修复、副本放置等。 + +每个微服务都以独立进程的方式部署。当设置某个微服务的副本数大于 1 时,该微服务会自动实现主备的容灾模式,以确保服务的高可用性和可靠性。 + +## 使用场景 + +PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务质量。利用该特性,你可以避免以下问题: + +- PD 集群压力过大而导致 TSO 分配的长尾延迟或者抖动现象 +- 调度模块故障导致整个集群服务不可用的问题 +- PD 自身单点瓶颈的问题 + +此外,当调度模块发生变更时,你可以单独更新 Scheduling 微服务,无需再对 PD 进行重启,进而不会影响集群的整体服务。 + +> **注意:** +> +> 如果集群的性能瓶颈不是 PD 引起的,则无需开启微服务。微服务本身会增加组件数量,提高运维成本。 + +## 使用限制 + +- TSO 微服务目前不支持动态启停,开启或关闭 TSO 微服务后你需要重启 PD 集群才会生效。 +- 只有 TiDB 组件支持通过服务发现直接连接 TSO 微服务,其他的组件是通过请求转发的方式,将请求通过 PD 转发到 TSO 微服务以获取时间戳。 +- 当前微服务与[同步部署模式 (DR Auto-Sync)](https://docs.pingcap.com/zh/tidb/stable/two-data-centers-in-one-city-deployment) 特性不兼容。 +- 与 TiDB 系统变量 [`tidb_enable_tso_follower_proxy`](https://docs.pingcap.com/zh/tidb/stable/system-variables#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 不兼容。 +- 由于集群中可能存在静默 Region,Scheduling 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多五分钟内没有调度的现象。 + +## 使用方法 + +目前 PD 微服务支持通过 TiDB Operator 和 TiUP Playground 进行部署。 + +TiDB Operator 详细使用方法请参考以下文档: + +- [部署 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator/configure-a-tidb-cluster.md#部署-pd-微服务) +- [配置 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator/configure-a-tidb-cluster.md#配置-pd-微服务) +- [修改 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator/modify-tidb-configuration.md#修改-pd-微服务配置) +- [扩缩容 PD 微服务组件](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator/scale-a-tidb-cluster.md#扩缩容-pd-微服务组件) + +TiUP Playground 详细使用方法请参考以下文档: + +- [部署 PD 微服务](https://docs.pingcap.com/zh/tidb/stable/tiup/tiup-playground.md#pd-微服务部署) + +当部署和使用 PD 微服务时,请注意以下事项: + +- 开启微服务并重启 PD 后,PD 不再提供 TSO 分配功能。因此,开启微服务时,你需要在集群中部署 TSO 微服务。 +- 如果集群中部署了 Scheduling 微服务,调度功能将由 Scheduling 微服务提供。如果没有部署 Scheduling 微服务,调度功能仍然由 PD 提供。 +- Scheduling 微服务支持动态切换。该功能默认开启(`enable-scheduling-fallback` 默认为 `true`)。如果 Scheduling 微服务进程关闭,PD 默认会继续为集群提供调度服务。 + + 如果 Scheduling 微服务和 PD 使用的 binary 版本不同,为防止调度逻辑出现变化,可以通过执行 `pd-ctl config set enable-scheduling-fallback false` 关闭 Scheduling 微服务动态切换功能。关闭后,如果 Scheduling 微服务的进程关闭,PD 将不会接管调度服务。这意味着,在 Scheduling 微服务重新启动前,集群将无法提供调度服务。 + +## 工具兼容性 + +微服务不影响数据导入导出以及其他同步工具的正常使用。 + +## 常见问题 + +- 如何判断 PD 是否达到了性能瓶颈? + + 在集群自身状态正常的前提下,可以查看 Grafana PD 面板中的监控指标。如果 `TiDB - PD server TSO handle time` 指标出现明显延迟上涨或 `Heartbeat - TiKV side heartbeat statistics` 指标出现大量 pending,说明 PD 达到了性能瓶颈。 \ No newline at end of file diff --git a/tiup/tiup-playground.md b/tiup/tiup-playground.md index 0464144a821c..97ef66632d9d 100644 --- a/tiup/tiup-playground.md +++ b/tiup/tiup-playground.md @@ -190,3 +190,14 @@ tiup playground scale-out --db 2 ```shell tiup playground scale-in --pid 86526 ``` + +## PD 微服务部署 + +正如 [PD 微服务](https://docs.pingcap.com/zh/tidb/stable/pd-microservices.md#使用方法) 中介绍,我们在 playground 中提供了简易的方式进行部署。 + +- 需要指定 `--pd.mode` 为 `ms`,启动 PD 微服务模式需要指定参数 `--pd.api num`(num>=1) +- 目前支持 TSO, Scheduling 两个微服务,可以通过 `--pd.tso num`,`--pd.scheduling num` 来分别指定启动的实例数量。 + +```shell +./tiup-playground v8.0.0 --pd.mode ms --pd.api 3 --pd.tso 2 --pd.scheduling 3 +``` \ No newline at end of file From a1ee49be631e54ca703a4660ee6f1c718519e0a7 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 21 Mar 2024 16:58:18 +0800 Subject: [PATCH 02/14] refine the descriptions --- tiup/tiup-playground.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tiup/tiup-playground.md b/tiup/tiup-playground.md index 97ef66632d9d..c6d296daee86 100644 --- a/tiup/tiup-playground.md +++ b/tiup/tiup-playground.md @@ -191,13 +191,15 @@ tiup playground scale-out --db 2 tiup playground scale-in --pid 86526 ``` -## PD 微服务部署 +## 部署 PD 微服务 -正如 [PD 微服务](https://docs.pingcap.com/zh/tidb/stable/pd-microservices.md#使用方法) 中介绍,我们在 playground 中提供了简易的方式进行部署。 - -- 需要指定 `--pd.mode` 为 `ms`,启动 PD 微服务模式需要指定参数 `--pd.api num`(num>=1) -- 目前支持 TSO, Scheduling 两个微服务,可以通过 `--pd.tso num`,`--pd.scheduling num` 来分别指定启动的实例数量。 +从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)。你可以通过 playground 部署 PD 的 TSO 微服务和 Scheduling 微服务。 ```shell ./tiup-playground v8.0.0 --pd.mode ms --pd.api 3 --pd.tso 2 --pd.scheduling 3 -``` \ No newline at end of file +``` + +- `--pd.mode`:当指定 `--pd.mode` 为 `ms` 时,代表启用 PD 微服务模式。 +- `--pd.api num`:指定 API 线程的数量,需要大于等于 1。 +- `--pd.tso num`:指定要部署的 TSO 微服务的实例数量。 +- `--pd.scheduling num`:指定要部署的 Scheduling 微服务的实例数量。 \ No newline at end of file From b0cd4af6f9e08c9de951890fb84695da438229a5 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 21 Mar 2024 16:59:12 +0800 Subject: [PATCH 03/14] fix a broken link --- pd-microservices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pd-microservices.md b/pd-microservices.md index d0048f0e94e4..b7512d7a658d 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -47,7 +47,7 @@ TiDB Operator 详细使用方法请参考以下文档: TiUP Playground 详细使用方法请参考以下文档: -- [部署 PD 微服务](https://docs.pingcap.com/zh/tidb/stable/tiup/tiup-playground.md#pd-微服务部署) +- [部署 PD 微服务](/tiup/tiup-playground.md#部署-pd-微服务) 当部署和使用 PD 微服务时,请注意以下事项: From 8abd300a49ace057cc7660485293120b30abeb23 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 21 Mar 2024 17:10:21 +0800 Subject: [PATCH 04/14] unify the terms --- pd-microservices.md | 39 ++++++++++++++++++++++++--------------- tiup/tiup-playground.md | 8 ++++---- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/pd-microservices.md b/pd-microservices.md index d0048f0e94e4..16ce10f79b26 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -7,8 +7,8 @@ summary: 介绍如何开启 PD 微服务模式提高服务质量。 从 v8.0.0 开始,PD 支持微服务模式。该模式可将 PD 的时间戳分配和集群调度功能拆分为以下微服务单独部署,从而与 PD 的路由功能解耦,让 PD 专注于元数据的路由服务。 -- TSO 微服务:为整个集群提供单调递增的时间戳分配。 -- Scheduling 微服务:为整个集群提供调度功能,包括但不限于负载均衡、热点处理、副本修复、副本放置等。 +- `tso` 微服务:为整个集群提供单调递增的时间戳分配。 +- `scheduling` 微服务:为整个集群提供调度功能,包括但不限于负载均衡、热点处理、副本修复、副本放置等。 每个微服务都以独立进程的方式部署。当设置某个微服务的副本数大于 1 时,该微服务会自动实现主备的容灾模式,以确保服务的高可用性和可靠性。 @@ -20,7 +20,7 @@ PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务 - 调度模块故障导致整个集群服务不可用的问题 - PD 自身单点瓶颈的问题 -此外,当调度模块发生变更时,你可以单独更新 Scheduling 微服务,无需再对 PD 进行重启,进而不会影响集群的整体服务。 +此外,当调度模块发生变更时,你可以单独更新 `scheduling` 微服务,无需再对 PD 进行重启,进而不会影响集群的整体服务。 > **注意:** > @@ -28,34 +28,43 @@ PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务 ## 使用限制 -- TSO 微服务目前不支持动态启停,开启或关闭 TSO 微服务后你需要重启 PD 集群才会生效。 -- 只有 TiDB 组件支持通过服务发现直接连接 TSO 微服务,其他的组件是通过请求转发的方式,将请求通过 PD 转发到 TSO 微服务以获取时间戳。 -- 当前微服务与[同步部署模式 (DR Auto-Sync)](https://docs.pingcap.com/zh/tidb/stable/two-data-centers-in-one-city-deployment) 特性不兼容。 +- `tso` 微服务目前不支持动态启停,开启或关闭 `tso` 微服务后你需要重启 PD 集群才会生效。 +- 只有 TiDB 组件支持通过服务发现直接连接 `tso` 微服务,其他的组件是通过请求转发的方式,将请求通过 PD 转发到 `tso` 微服务以获取时间戳。 +- 与[同步部署模式 (DR Auto-Sync)](https://docs.pingcap.com/zh/tidb/stable/two-data-centers-in-one-city-deployment) 特性不兼容。 - 与 TiDB 系统变量 [`tidb_enable_tso_follower_proxy`](https://docs.pingcap.com/zh/tidb/stable/system-variables#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 不兼容。 -- 由于集群中可能存在静默 Region,Scheduling 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多五分钟内没有调度的现象。 +- 由于集群中可能存在静默 Region,`scheduling` 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多五分钟内没有调度的现象。 ## 使用方法 目前 PD 微服务支持通过 TiDB Operator 和 TiUP Playground 进行部署。 + +
+ TiDB Operator 详细使用方法请参考以下文档: -- [部署 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator/configure-a-tidb-cluster.md#部署-pd-微服务) -- [配置 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator/configure-a-tidb-cluster.md#配置-pd-微服务) -- [修改 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator/modify-tidb-configuration.md#修改-pd-微服务配置) -- [扩缩容 PD 微服务组件](https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/deploy-tidb-operator/scale-a-tidb-cluster.md#扩缩容-pd-微服务组件) +- [部署 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/deploy-tidb-operator/configure-a-tidb-cluster#部署-pd-微服务) +- [配置 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/deploy-tidb-operator/configure-a-tidb-cluster#配置-pd-微服务) +- [修改 PD 微服务](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/deploy-tidb-operator/modify-tidb-configuration#修改-pd-微服务配置) +- [扩缩容 PD 微服务组件](https://docs.pingcap.com/zh/tidb-in-kubernetes/dev/deploy-tidb-operator/scale-a-tidb-cluster#扩缩容-pd-微服务组件) + +
+
TiUP Playground 详细使用方法请参考以下文档: - [部署 PD 微服务](https://docs.pingcap.com/zh/tidb/stable/tiup/tiup-playground.md#pd-微服务部署) +
+
+ 当部署和使用 PD 微服务时,请注意以下事项: -- 开启微服务并重启 PD 后,PD 不再提供 TSO 分配功能。因此,开启微服务时,你需要在集群中部署 TSO 微服务。 -- 如果集群中部署了 Scheduling 微服务,调度功能将由 Scheduling 微服务提供。如果没有部署 Scheduling 微服务,调度功能仍然由 PD 提供。 -- Scheduling 微服务支持动态切换。该功能默认开启(`enable-scheduling-fallback` 默认为 `true`)。如果 Scheduling 微服务进程关闭,PD 默认会继续为集群提供调度服务。 +- 开启微服务并重启 PD 后,PD 不再提供 TSO 分配功能。因此,开启微服务时,你需要在集群中部署 `tso` 微服务。 +- 如果集群中部署了 `scheduling` 微服务,调度功能将由 `scheduling` 微服务提供。如果没有部署 `scheduling` 微服务,调度功能仍然由 PD 提供。 +- `scheduling` 微服务支持动态切换。该功能默认开启(`enable-scheduling-fallback` 默认为 `true`)。如果 `scheduling` 微服务进程关闭,PD 默认会继续为集群提供调度服务。 - 如果 Scheduling 微服务和 PD 使用的 binary 版本不同,为防止调度逻辑出现变化,可以通过执行 `pd-ctl config set enable-scheduling-fallback false` 关闭 Scheduling 微服务动态切换功能。关闭后,如果 Scheduling 微服务的进程关闭,PD 将不会接管调度服务。这意味着,在 Scheduling 微服务重新启动前,集群将无法提供调度服务。 + 如果 `scheduling` 微服务和 PD 使用的 binary 版本不同,为防止调度逻辑出现变化,可以通过执行 `pd-ctl config set enable-scheduling-fallback false` 关闭 `scheduling` 微服务动态切换功能。关闭后,如果 `scheduling` 微服务的进程关闭,PD 将不会接管调度服务。这意味着,在 `scheduling` 微服务重新启动前,集群将无法提供调度服务。 ## 工具兼容性 diff --git a/tiup/tiup-playground.md b/tiup/tiup-playground.md index c6d296daee86..c5030bfd9642 100644 --- a/tiup/tiup-playground.md +++ b/tiup/tiup-playground.md @@ -193,13 +193,13 @@ tiup playground scale-in --pid 86526 ## 部署 PD 微服务 -从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)。你可以通过 playground 部署 PD 的 TSO 微服务和 Scheduling 微服务。 +从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)。你可以通过 playground 部署 PD 的 `tso` 微服务和 `scheduling` 微服务。 ```shell ./tiup-playground v8.0.0 --pd.mode ms --pd.api 3 --pd.tso 2 --pd.scheduling 3 ``` - `--pd.mode`:当指定 `--pd.mode` 为 `ms` 时,代表启用 PD 微服务模式。 -- `--pd.api num`:指定 API 线程的数量,需要大于等于 1。 -- `--pd.tso num`:指定要部署的 TSO 微服务的实例数量。 -- `--pd.scheduling num`:指定要部署的 Scheduling 微服务的实例数量。 \ No newline at end of file +- `--pd.api num`:指定 PD 微服务 API 的数量,需要大于等于 1。 +- `--pd.tso num`:指定要部署的 `tso` 微服务的实例数量。 +- `--pd.scheduling num`:指定要部署的 `scheduling` 微服务的实例数量。 \ No newline at end of file From 9aae979219f97cb03402d95ca6352d2a3ac00064 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 21 Mar 2024 17:39:24 +0800 Subject: [PATCH 05/14] wording updates --- tiup/tiup-playground.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiup/tiup-playground.md b/tiup/tiup-playground.md index c5030bfd9642..0ac5d7e01680 100644 --- a/tiup/tiup-playground.md +++ b/tiup/tiup-playground.md @@ -193,7 +193,7 @@ tiup playground scale-in --pid 86526 ## 部署 PD 微服务 -从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)。你可以通过 playground 部署 PD 的 `tso` 微服务和 `scheduling` 微服务。 +从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)。你可以通过 TiUP playground 为集群部署 `tso` 微服务和 `scheduling` 微服务。 ```shell ./tiup-playground v8.0.0 --pd.mode ms --pd.api 3 --pd.tso 2 --pd.scheduling 3 From b0d0643f47916522b46299c855e828eda5ef72d2 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 21 Mar 2024 20:15:29 +0800 Subject: [PATCH 06/14] Update tiup/tiup-playground.md --- tiup/tiup-playground.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiup/tiup-playground.md b/tiup/tiup-playground.md index 0ac5d7e01680..9163af707dae 100644 --- a/tiup/tiup-playground.md +++ b/tiup/tiup-playground.md @@ -200,6 +200,6 @@ tiup playground scale-in --pid 86526 ``` - `--pd.mode`:当指定 `--pd.mode` 为 `ms` 时,代表启用 PD 微服务模式。 -- `--pd.api num`:指定 PD 微服务 API 的数量,需要大于等于 1。 +- `--pd.api num`:指定 PD 微服务 API 的数量,需要大于等于 `1`。 - `--pd.tso num`:指定要部署的 `tso` 微服务的实例数量。 - `--pd.scheduling num`:指定要部署的 `scheduling` 微服务的实例数量。 \ No newline at end of file From edd2d4f32a66ca6b944399c918ab45235d34706e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 22 Mar 2024 11:57:08 +0800 Subject: [PATCH 07/14] add a warning --- pd-microservices.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pd-microservices.md b/pd-microservices.md index 74c749c51ebc..af506a4ee7b3 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -12,6 +12,10 @@ summary: 介绍如何开启 PD 微服务模式提高服务质量。 每个微服务都以独立进程的方式部署。当设置某个微服务的副本数大于 1 时,该微服务会自动实现主备的容灾模式,以确保服务的高可用性和可靠性。 +> **警告:** +> +> PD 微服务目前为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/pingcap/tidb/issues) 反馈。 + ## 使用场景 PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务质量。利用该特性,你可以避免以下问题: From 526f8b3decc840566e3e65dc5a6a6fa6ef1c91a2 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 22 Mar 2024 12:21:44 +0800 Subject: [PATCH 08/14] Update tiup-playground.md --- tiup/tiup-playground.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tiup/tiup-playground.md b/tiup/tiup-playground.md index 9163af707dae..0a56c6837633 100644 --- a/tiup/tiup-playground.md +++ b/tiup/tiup-playground.md @@ -193,7 +193,7 @@ tiup playground scale-in --pid 86526 ## 部署 PD 微服务 -从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)。你可以通过 TiUP playground 为集群部署 `tso` 微服务和 `scheduling` 微服务。 +从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)(实验特性)。你可以通过 TiUP playground 为集群部署 `tso` 微服务和 `scheduling` 微服务。 ```shell ./tiup-playground v8.0.0 --pd.mode ms --pd.api 3 --pd.tso 2 --pd.scheduling 3 From 0548bc1af7dad88e69ec7328f80dc3fddc821c4c Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Fri, 22 Mar 2024 16:13:05 +0800 Subject: [PATCH 09/14] Refine wording and format --- pd-microservices.md | 4 ++-- tiup/tiup-playground.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pd-microservices.md b/pd-microservices.md index af506a4ee7b3..8be04e4129bd 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -1,6 +1,6 @@ --- title: PD 微服务 -summary: 介绍如何开启 PD 微服务模式提高服务质量。 +summary: 介绍如何开启 PD 微服务模式,以提高服务质量。 --- # PD 微服务 @@ -40,7 +40,7 @@ PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务 ## 使用方法 -目前 PD 微服务支持通过 TiDB Operator 和 TiUP Playground 进行部署。 +目前 PD 微服务支持通过 TiDB Operator 或 TiUP Playground 进行部署。
diff --git a/tiup/tiup-playground.md b/tiup/tiup-playground.md index 0a56c6837633..54874c665d4c 100644 --- a/tiup/tiup-playground.md +++ b/tiup/tiup-playground.md @@ -193,7 +193,7 @@ tiup playground scale-in --pid 86526 ## 部署 PD 微服务 -从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)(实验特性)。你可以通过 TiUP playground 为集群部署 `tso` 微服务和 `scheduling` 微服务。 +从 v8.0.0 起,PD 支持[微服务模式](/pd-microservices.md)(实验特性)。你可以通过 TiUP Playground 为集群部署 `tso` 微服务和 `scheduling` 微服务。 ```shell ./tiup-playground v8.0.0 --pd.mode ms --pd.api 3 --pd.tso 2 --pd.scheduling 3 From 25a3f83e3420822def793b94fbfff564cea7045d Mon Sep 17 00:00:00 2001 From: Hu# Date: Fri, 22 Mar 2024 16:21:21 +0800 Subject: [PATCH 10/14] Update pd-microservices.md --- pd-microservices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pd-microservices.md b/pd-microservices.md index 8be04e4129bd..fc3c3c94595c 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -14,7 +14,7 @@ summary: 介绍如何开启 PD 微服务模式,以提高服务质量。 > **警告:** > -> PD 微服务目前为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/pingcap/tidb/issues) 反馈。 +> PD 微服务目前为实验特性,不建议在生产环境中使用。该功能可能会在未事先通知的情况下发生变化或删除。如果发现 bug,请在 GitHub 上提 [issue](https://github.com/tikv/pd/issues) 反馈。 ## 使用场景 From 723d64a7158686dd94336c733e0435dc0f8babc0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 25 Mar 2024 11:53:12 +0800 Subject: [PATCH 11/14] fix a format issue --- pd-microservices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pd-microservices.md b/pd-microservices.md index fc3c3c94595c..d7848f56b610 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -35,7 +35,7 @@ PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务 - `tso` 微服务目前不支持动态启停,开启或关闭 `tso` 微服务后你需要重启 PD 集群才会生效。 - 只有 TiDB 组件支持通过服务发现直接连接 `tso` 微服务,其他的组件是通过请求转发的方式,将请求通过 PD 转发到 `tso` 微服务以获取时间戳。 - 与[同步部署模式 (DR Auto-Sync)](https://docs.pingcap.com/zh/tidb/stable/two-data-centers-in-one-city-deployment) 特性不兼容。 -- 与 TiDB 系统变量 [`tidb_enable_tso_follower_proxy`](https://docs.pingcap.com/zh/tidb/stable/system-variables#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 不兼容。 +- 与 TiDB 系统变量 [`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 不兼容。 - 由于集群中可能存在静默 Region,`scheduling` 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多五分钟内没有调度的现象。 ## 使用方法 From a55d41a9c09e2e2cdf43142021ebbcc61af82138 Mon Sep 17 00:00:00 2001 From: husharp Date: Mon, 25 Mar 2024 13:43:02 +0800 Subject: [PATCH 12/14] add comment for hibernate regions Signed-off-by: husharp --- pd-microservices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pd-microservices.md b/pd-microservices.md index d7848f56b610..35996809280b 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -36,7 +36,7 @@ PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务 - 只有 TiDB 组件支持通过服务发现直接连接 `tso` 微服务,其他的组件是通过请求转发的方式,将请求通过 PD 转发到 `tso` 微服务以获取时间戳。 - 与[同步部署模式 (DR Auto-Sync)](https://docs.pingcap.com/zh/tidb/stable/two-data-centers-in-one-city-deployment) 特性不兼容。 - 与 TiDB 系统变量 [`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 不兼容。 -- 由于集群中可能存在静默 Region,`scheduling` 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多五分钟内没有调度的现象。 +- 由于集群中可能存在[静默 Region](https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file#hibernate-regions),`scheduling` 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多 `peer-stale-state-check-interval` 时间内(默认为五分钟)没有调度的现象。 ## 使用方法 From 7b8a44cb2d3628c1f73fb66cd5529d26939600ed Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 25 Mar 2024 13:49:49 +0800 Subject: [PATCH 13/14] Apply suggestions from code review --- pd-microservices.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pd-microservices.md b/pd-microservices.md index 35996809280b..a553acfeb3c9 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -34,9 +34,9 @@ PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务 - `tso` 微服务目前不支持动态启停,开启或关闭 `tso` 微服务后你需要重启 PD 集群才会生效。 - 只有 TiDB 组件支持通过服务发现直接连接 `tso` 微服务,其他的组件是通过请求转发的方式,将请求通过 PD 转发到 `tso` 微服务以获取时间戳。 -- 与[同步部署模式 (DR Auto-Sync)](https://docs.pingcap.com/zh/tidb/stable/two-data-centers-in-one-city-deployment) 特性不兼容。 +- 与[同步部署模式 (DR Auto-Sync)](/two-data-centers-in-one-city-deployment.md) 特性不兼容。 - 与 TiDB 系统变量 [`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 不兼容。 -- 由于集群中可能存在[静默 Region](https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file#hibernate-regions),`scheduling` 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多 `peer-stale-state-check-interval` 时间内(默认为五分钟)没有调度的现象。 +- 由于集群中可能存在[静默 Region](/tikv-configuration-file.md#hibernate-regions),`scheduling` 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多 [`peer-stale-state-check-interval`](/tikv-configuration-file.md#peer-stale-state-check-interval) 时间内(默认为五分钟)没有调度的现象。 ## 使用方法 From 86ebf24152a0d5e42d38f0822a5c4fd47441a1be Mon Sep 17 00:00:00 2001 From: Hu# Date: Mon, 25 Mar 2024 14:08:01 +0800 Subject: [PATCH 14/14] Update pd-microservices.md Co-authored-by: Grace Cai --- pd-microservices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pd-microservices.md b/pd-microservices.md index a553acfeb3c9..689c4a9ecce6 100644 --- a/pd-microservices.md +++ b/pd-microservices.md @@ -36,7 +36,7 @@ PD 微服务通常用于解决 PD 出现性能瓶颈的问题,提高 PD 服务 - 只有 TiDB 组件支持通过服务发现直接连接 `tso` 微服务,其他的组件是通过请求转发的方式,将请求通过 PD 转发到 `tso` 微服务以获取时间戳。 - 与[同步部署模式 (DR Auto-Sync)](/two-data-centers-in-one-city-deployment.md) 特性不兼容。 - 与 TiDB 系统变量 [`tidb_enable_tso_follower_proxy`](/system-variables.md#tidb_enable_tso_follower_proxy-从-v530-版本开始引入) 不兼容。 -- 由于集群中可能存在[静默 Region](/tikv-configuration-file.md#hibernate-regions),`scheduling` 微服务在进行主备切换时,为避免冗余调度,集群可能存在最多 [`peer-stale-state-check-interval`](/tikv-configuration-file.md#peer-stale-state-check-interval) 时间内(默认为五分钟)没有调度的现象。 +- 由于集群中可能存在[静默 Region](/tikv-configuration-file.md#hibernate-regions),`scheduling` 微服务在进行主备切换时,为避免冗余调度,集群可能存在最长 [`peer-stale-state-check-interval`](/tikv-configuration-file.md#peer-stale-state-check-interval) 时间内(默认为五分钟)没有调度的现象。 ## 使用方法