From e095519fe2fb5d40e94048e714dd0b08aa3168c8 Mon Sep 17 00:00:00 2001 From: Petrie Date: Tue, 19 Jul 2022 13:50:21 +0800 Subject: [PATCH 01/25] translate transport layer security Signed-off-by: Petrie --- content/zh-cn/transport-layer-security.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/zh-cn/transport-layer-security.md diff --git a/content/zh-cn/transport-layer-security.md b/content/zh-cn/transport-layer-security.md new file mode 100644 index 0000000000..9ab95b103e --- /dev/null +++ b/content/zh-cn/transport-layer-security.md @@ -0,0 +1,17 @@ +--- +title: 传输层安全性协议(TLS) +status: Completed +category: 概念 +--- + +## 这是什么 + +传输层安全性协议 (TLS) 是一种旨在为网络通信提供更高安全性的协议。它确保通过因特网发送的数据安全交付,避免可能的数据监视和/或篡改。该协议广泛用于消息传递、电子邮件等应用程序中。 + +## 它解决的问题 + +如果没有 TLS,网页浏览习惯、电子邮件通信、在线聊天和电话会议等敏感信息在传输过程中很容易被他人追踪和篡改。启用服务器和客户端应用程序对 TLS 的支持,可以确保它们之间传输的数据是加密的,并且第三方无法查看。 + +## 它如何帮助 + +TLS 使用多种编码技术,在通过网络传输数据时提供安全性。 TLS 允许客户端应用程序和服务器(如浏览器和银行站点)之间的加密连接。它还允许客户端应用程序积极地识别他们正在调用的服务器,从而降低客户端与欺诈站点通信的风险。这可以确保第三方无法查看和监控使用 TLS 在应用程序之间传输的数据,从而保护敏感隐私的信息,例如信用卡号、密码、位置等。 From 058b0536f2313434e40401256e2076bd4be99e49 Mon Sep 17 00:00:00 2001 From: Petrie Date: Fri, 22 Jul 2022 08:10:31 +0800 Subject: [PATCH 02/25] subtitle update Signed-off-by: Petrie --- content/zh-cn/transport-layer-security.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/zh-cn/transport-layer-security.md b/content/zh-cn/transport-layer-security.md index 9ab95b103e..c6d3bd91bc 100644 --- a/content/zh-cn/transport-layer-security.md +++ b/content/zh-cn/transport-layer-security.md @@ -4,14 +4,14 @@ status: Completed category: 概念 --- -## 这是什么 +## 是什么 传输层安全性协议 (TLS) 是一种旨在为网络通信提供更高安全性的协议。它确保通过因特网发送的数据安全交付,避免可能的数据监视和/或篡改。该协议广泛用于消息传递、电子邮件等应用程序中。 -## 它解决的问题 +## 解决的问题 如果没有 TLS,网页浏览习惯、电子邮件通信、在线聊天和电话会议等敏感信息在传输过程中很容易被他人追踪和篡改。启用服务器和客户端应用程序对 TLS 的支持,可以确保它们之间传输的数据是加密的,并且第三方无法查看。 -## 它如何帮助 +## 如何帮助 TLS 使用多种编码技术,在通过网络传输数据时提供安全性。 TLS 允许客户端应用程序和服务器(如浏览器和银行站点)之间的加密连接。它还允许客户端应用程序积极地识别他们正在调用的服务器,从而降低客户端与欺诈站点通信的风险。这可以确保第三方无法查看和监控使用 TLS 在应用程序之间传输的数据,从而保护敏感隐私的信息,例如信用卡号、密码、位置等。 From d72b3a9b3086e0bb8c7bfe6ade2aceb22ee8a050 Mon Sep 17 00:00:00 2001 From: Petrie Date: Mon, 25 Jul 2022 08:55:27 +0800 Subject: [PATCH 03/25] translate event driven architecture Signed-off-by: Petrie --- content/zh-cn/event-driven-architecture.md | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 content/zh-cn/event-driven-architecture.md diff --git a/content/zh-cn/event-driven-architecture.md b/content/zh-cn/event-driven-architecture.md new file mode 100644 index 0000000000..9d3be7cda5 --- /dev/null +++ b/content/zh-cn/event-driven-architecture.md @@ -0,0 +1,25 @@ +--- +title: 事件驱动架构 +status: Completed +category: 概念 +--- + +## 是什么 + +事件驱动架构是一种提倡事件的创建、处理和消费的软件架构。 +事件是对应用程序状态的任何更改。 +例如,在拼车应用上叫车代表一个事件。 +这种架构创建了一个结构,在该结构中,事件可以从它们的源(请求乘车的应用程序)正确地路由到所需的接收器(附近可用司机的应用程序)。 + +## 解决的问题 + +随着越来越多的数据变得实时,寻找可靠的方法来确保捕获事件并将其路由到必须处理事件请求的适当[服务](/zh-cn/service/)变得越来越具有挑战性。 +处理事件的传统方法通常无法保证消息被恰当地路由或发送或接收。 +随着应用程序的扩展,编排事件变得更具挑战性。 + +## 如何帮助 + +事件驱动架构为所有事件(例如,Kafka)建立了一个中心枢纽。 +然后定义事件生产者(源)和消费者(接收者),中心事件枢纽保证事件的流动。 +这种架构确保服务保持解耦,并且事件从生产者正确路由到消费者。 +生产者通常通过HTTP协议接收传入事件,然后路由事件信息。 From d58c4bdec3be4280f51e26b735302f42632130b9 Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Thu, 28 Jul 2022 20:36:12 +0800 Subject: [PATCH 04/25] translate service (#1113) Signed-off-by: Petrie --- content/zh-cn/service.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 content/zh-cn/service.md diff --git a/content/zh-cn/service.md b/content/zh-cn/service.md new file mode 100644 index 0000000000..f1644a3016 --- /dev/null +++ b/content/zh-cn/service.md @@ -0,0 +1,12 @@ +--- +title: 服务 +status: Completed +category: 概念 +tags: ["架构", "", ""] +--- + +请注意,在 IT 中,服务有多种含义。 +在这个定义中,我们将关注更传统的定义:微服务中的服务。 +服务与微服务哪里有、是否有区别是细微的,不同的人可能有不同的看法。 +在更高层次的定义中,我们将它们视为相同。 +请参考[微服务](/zh-cn/microservices/)的定义。 From d005190ac9153f8d59609efd270a05b4b4965308 Mon Sep 17 00:00:00 2001 From: Petrie Date: Fri, 29 Jul 2022 22:46:23 +0800 Subject: [PATCH 05/25] translate event driven architecture Signed-off-by: Petrie --- content/zh-cn/event-driven-architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/event-driven-architecture.md b/content/zh-cn/event-driven-architecture.md index 9d3be7cda5..a5b1ad4f6c 100644 --- a/content/zh-cn/event-driven-architecture.md +++ b/content/zh-cn/event-driven-architecture.md @@ -19,7 +19,7 @@ category: 概念 ## 如何帮助 -事件驱动架构为所有事件(例如,Kafka)建立了一个中心枢纽。 +事件驱动架构为所有事件建立了一个中心枢纽(例如,Kafka)。 然后定义事件生产者(源)和消费者(接收者),中心事件枢纽保证事件的流动。 这种架构确保服务保持解耦,并且事件从生产者正确路由到消费者。 生产者通常通过HTTP协议接收传入事件,然后路由事件信息。 From a53d3c274892729e9cfa70cca34365b095bca42a Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Sat, 30 Jul 2022 15:47:29 +0800 Subject: [PATCH 06/25] translate mutual translate layer security (#1128) Signed-off-by: Petrie --- .../zh-cn/mutual-transport-layer-security.md | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 content/zh-cn/mutual-transport-layer-security.md diff --git a/content/zh-cn/mutual-transport-layer-security.md b/content/zh-cn/mutual-transport-layer-security.md new file mode 100644 index 0000000000..5086eb3e97 --- /dev/null +++ b/content/zh-cn/mutual-transport-layer-security.md @@ -0,0 +1,25 @@ +--- +title: 双向传输层安全性协议(mTLS) +status: Completed +category: 概念 +tags: ["安全", "", ""] +--- + +## 是什么 + +双向 TLS (mTLS) 是一种用于对两个[服务](/zh-cn/service/)之间发送的消息进行身份验证和加密的技术。 +双向 TLS (mTLS) 是标准的[传输层安全性协议](/zh-cn/transport-layer-security/)(TLS) , +但不是仅验证一个连接的身份,而是验证双方。 + +## 解决的问题 + +[微服务](/zh-cn/microservices/)通过网络进行通信, +就像您的 wifi 网络一样,通过该网络传输的通信可能会被黑客入侵。 +mTLS 确保没有未经授权的一方监听或冒充合法请求。 + +## 如何帮助 + +mTLS 确保客户端和服务器之间的双向流量是安全和可信的, +为进入网络或应用程序的用户提供了额外的安全层。 +它还验证不遵循登录过程的客户端设备连接,例如物联网 (IoT) 设备。 +mTLS 可以防止诸如路径上的攻击、欺骗攻击、凭证填充、暴力攻击等攻击。 From 674d6c6b383ff774bd44efb61c1e1a125e346d6f Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Sat, 30 Jul 2022 15:49:02 +0800 Subject: [PATCH 07/25] Update content/zh-cn/event-driven-architecture.md Co-authored-by: Brian Yan <44219737+Rocksnake@users.noreply.github.com> Signed-off-by: Petrie Liu --- content/zh-cn/event-driven-architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/event-driven-architecture.md b/content/zh-cn/event-driven-architecture.md index a5b1ad4f6c..47a16068b1 100644 --- a/content/zh-cn/event-driven-architecture.md +++ b/content/zh-cn/event-driven-architecture.md @@ -22,4 +22,4 @@ category: 概念 事件驱动架构为所有事件建立了一个中心枢纽(例如,Kafka)。 然后定义事件生产者(源)和消费者(接收者),中心事件枢纽保证事件的流动。 这种架构确保服务保持解耦,并且事件从生产者正确路由到消费者。 -生产者通常通过HTTP协议接收传入事件,然后路由事件信息。 +生产者通常通过 HTTP 协议接收传入事件,然后路由事件信息。 From 538e24fa015fb972b55048443fd6b6414afa20b5 Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Sat, 30 Jul 2022 21:25:20 +0800 Subject: [PATCH 08/25] Update content/zh-cn/event-driven-architecture.md Co-authored-by: pengfeiliu Signed-off-by: Petrie Liu --- content/zh-cn/event-driven-architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/event-driven-architecture.md b/content/zh-cn/event-driven-architecture.md index 47a16068b1..09eb77f73a 100644 --- a/content/zh-cn/event-driven-architecture.md +++ b/content/zh-cn/event-driven-architecture.md @@ -4,7 +4,7 @@ status: Completed category: 概念 --- -## 是什么 +## 是什么1 事件驱动架构是一种提倡事件的创建、处理和消费的软件架构。 事件是对应用程序状态的任何更改。 From 9e008393425319c4b05173052444a654e8379fce Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Sat, 30 Jul 2022 21:29:12 +0800 Subject: [PATCH 09/25] Update content/zh-cn/event-driven-architecture.md Co-authored-by: pengfeiliu Signed-off-by: Petrie Liu --- content/zh-cn/event-driven-architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/event-driven-architecture.md b/content/zh-cn/event-driven-architecture.md index 09eb77f73a..47a16068b1 100644 --- a/content/zh-cn/event-driven-architecture.md +++ b/content/zh-cn/event-driven-architecture.md @@ -4,7 +4,7 @@ status: Completed category: 概念 --- -## 是什么1 +## 是什么 事件驱动架构是一种提倡事件的创建、处理和消费的软件架构。 事件是对应用程序状态的任何更改。 From 2b82613481ffcc5c4afec85837dc05c38f2a53a5 Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Sat, 30 Jul 2022 21:30:20 +0800 Subject: [PATCH 10/25] Update content/zh-cn/event-driven-architecture.md Co-authored-by: pengfeiliu Signed-off-by: Petrie Liu --- content/zh-cn/event-driven-architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/event-driven-architecture.md b/content/zh-cn/event-driven-architecture.md index 47a16068b1..1047aad232 100644 --- a/content/zh-cn/event-driven-architecture.md +++ b/content/zh-cn/event-driven-architecture.md @@ -9,7 +9,7 @@ category: 概念 事件驱动架构是一种提倡事件的创建、处理和消费的软件架构。 事件是对应用程序状态的任何更改。 例如,在拼车应用上叫车代表一个事件。 -这种架构创建了一个结构,在该结构中,事件可以从它们的源(请求乘车的应用程序)正确地路由到所需的接收器(附近可用司机的应用程序)。 +这种架构创建了一个结构,在该结构中,事件可以从它们的源(请求乘车的应用程序)正确地路由到所需的接收器(附近可用司机的应用程序)。1 ## 解决的问题 From 0c7084a7876f3537e8cee0ea57303105601af03e Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Sat, 30 Jul 2022 21:30:43 +0800 Subject: [PATCH 11/25] Update content/zh-cn/event-driven-architecture.md Co-authored-by: pengfeiliu Signed-off-by: Petrie Liu --- content/zh-cn/event-driven-architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/event-driven-architecture.md b/content/zh-cn/event-driven-architecture.md index 1047aad232..f71dfd7d4b 100644 --- a/content/zh-cn/event-driven-architecture.md +++ b/content/zh-cn/event-driven-architecture.md @@ -13,7 +13,7 @@ category: 概念 ## 解决的问题 -随着越来越多的数据变得实时,寻找可靠的方法来确保捕获事件并将其路由到必须处理事件请求的适当[服务](/zh-cn/service/)变得越来越具有挑战性。 +随着越来越多的数据变得实时,寻找可靠的方法来确保捕获事件并将其路由到必须处理事件请求的适当[服务](/zh-cn/service/)变得越来越具有挑战性。1 处理事件的传统方法通常无法保证消息被恰当地路由或发送或接收。 随着应用程序的扩展,编排事件变得更具挑战性。 From f75a9698d1b587d78724396e1d8323d09c6ecbd8 Mon Sep 17 00:00:00 2001 From: Petrie Date: Wed, 3 Aug 2022 07:32:06 +0800 Subject: [PATCH 12/25] update tags Signed-off-by: Petrie --- content/zh-cn/bare-metal-machine.md | 1 + content/zh-cn/tightly-coupled-architectures.md | 1 + content/zh-cn/transport-layer-security.md | 1 + 3 files changed, 3 insertions(+) diff --git a/content/zh-cn/bare-metal-machine.md b/content/zh-cn/bare-metal-machine.md index ed454cb28e..ef9b2532fc 100644 --- a/content/zh-cn/bare-metal-machine.md +++ b/content/zh-cn/bare-metal-machine.md @@ -2,6 +2,7 @@ title: 裸机 status: Completed category: 技术 +tags: ["基础设施", "", ""] --- ## 是什么 diff --git a/content/zh-cn/tightly-coupled-architectures.md b/content/zh-cn/tightly-coupled-architectures.md index 8ba2ba781e..55decc8e14 100644 --- a/content/zh-cn/tightly-coupled-architectures.md +++ b/content/zh-cn/tightly-coupled-architectures.md @@ -12,6 +12,7 @@ tags: ["基本原理", "", ""] 但会使系统更容易受到级联故障的影响。 它还意味着需要协调各个组件的部署, 这可能会拖累开发人员的生产力。 + 紧耦合应用程序架构是一种相当传统的应用程序构建方式。 在某些特定情况下,当我们不需要与[微服务](/zh-cn/microservices/) 开发的所有最佳实践一致时,它将变得很有用。 这意味着更快、更简单地实现, diff --git a/content/zh-cn/transport-layer-security.md b/content/zh-cn/transport-layer-security.md index c6d3bd91bc..fa4a7903f1 100644 --- a/content/zh-cn/transport-layer-security.md +++ b/content/zh-cn/transport-layer-security.md @@ -2,6 +2,7 @@ title: 传输层安全性协议(TLS) status: Completed category: 概念 +tags: ["安全", "", ""] --- ## 是什么 From 397db62679707cce74b1f9fb89ccffa129e9e818 Mon Sep 17 00:00:00 2001 From: Petrie Date: Wed, 3 Aug 2022 07:35:33 +0800 Subject: [PATCH 13/25] update tags Signed-off-by: Petrie --- content/zh-cn/event-driven-architecture.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/zh-cn/event-driven-architecture.md b/content/zh-cn/event-driven-architecture.md index f71dfd7d4b..47a16068b1 100644 --- a/content/zh-cn/event-driven-architecture.md +++ b/content/zh-cn/event-driven-architecture.md @@ -9,11 +9,11 @@ category: 概念 事件驱动架构是一种提倡事件的创建、处理和消费的软件架构。 事件是对应用程序状态的任何更改。 例如,在拼车应用上叫车代表一个事件。 -这种架构创建了一个结构,在该结构中,事件可以从它们的源(请求乘车的应用程序)正确地路由到所需的接收器(附近可用司机的应用程序)。1 +这种架构创建了一个结构,在该结构中,事件可以从它们的源(请求乘车的应用程序)正确地路由到所需的接收器(附近可用司机的应用程序)。 ## 解决的问题 -随着越来越多的数据变得实时,寻找可靠的方法来确保捕获事件并将其路由到必须处理事件请求的适当[服务](/zh-cn/service/)变得越来越具有挑战性。1 +随着越来越多的数据变得实时,寻找可靠的方法来确保捕获事件并将其路由到必须处理事件请求的适当[服务](/zh-cn/service/)变得越来越具有挑战性。 处理事件的传统方法通常无法保证消息被恰当地路由或发送或接收。 随着应用程序的扩展,编排事件变得更具挑战性。 From 8a337616fc7e15770f813603b27c4258afd7c56e Mon Sep 17 00:00:00 2001 From: Dafei Liu Date: Thu, 11 Aug 2022 23:52:10 +0800 Subject: [PATCH 14/25] Remove Extra blank lines (#1194) Signed-off-by: Petrie Signed-off-by: Petrie --- content/zh-cn/api-gateway.md | 1 - content/zh-cn/infrastructure-as-a-service.md | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/content/zh-cn/api-gateway.md b/content/zh-cn/api-gateway.md index 7f276797fe..159606f3d5 100644 --- a/content/zh-cn/api-gateway.md +++ b/content/zh-cn/api-gateway.md @@ -21,6 +21,5 @@ API 网关是一种通过聚合多个应用程序的 [API](/zh-cn/application-pr 通过为多个 API 提供一个统一的访问入口,API 网关能够让组织更容易地将交叉性业务或安全性逻辑移交到一个可集中管理的地方。 应用的消费端也只需要访问单个地址就可以满足其所有需求。 - 通过为系统中的所有 web 服务提供统一的访问入口,API 网关还可以简化诸如安全性和[可观测性](/observability/)之类的运维问题。 由于所有请求都流经 API 网关,因此它可以中心化的为这些请求添加诸如指标收集、速率限制和授权等功能。 diff --git a/content/zh-cn/infrastructure-as-a-service.md b/content/zh-cn/infrastructure-as-a-service.md index 2707ba35ec..1b0a3e5e7f 100644 --- a/content/zh-cn/infrastructure-as-a-service.md +++ b/content/zh-cn/infrastructure-as-a-service.md @@ -8,7 +8,7 @@ tags: ["基础设施", "", ""] ## 是什么 基础设施即代码,或者 IaaS ,是一种 [云计算](/zh-cn/cloud-computing/) 服务模型, -它提供 [物理](/bare-metal-machine/) 或 [虚拟](/zh-cn/virtualization/) 的计算、存储和网络资源,使用按需按量的计费模式。 +它提供 [物理](/zh-cn/bare-metal-machine/) 或 [虚拟](/zh-cn/virtualization/) 的计算、存储和网络资源,使用按需按量的计费模式。 云提供商拥有和管理软件和硬件设施,可供消费者在公共、私有或混合云部署和使用。 ## 解决的问题 @@ -16,7 +16,6 @@ tags: ["基础设施", "", ""] 在搭建传统的本地设施时,组织常常受困于如何保证资源的有效利用。 数据中心建立时必须考虑潜在的高峰需求,即使这样的需求只占1%的使用时间。 而在低需求期间,这些计算资源是空闲的。 - 而且,如果工作负载超过预期需求,处理工作负载的计算资源则会出现短缺。 这种缺乏可伸缩性的使用方式,将导致成本增加和资源使用率降低。 From 1dacc438edca367736069897811b27163d1baa20 Mon Sep 17 00:00:00 2001 From: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> Date: Thu, 15 Sep 2022 23:18:56 +0000 Subject: [PATCH 15/25] docs: add missing url prefix Signed-off-by: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> --- content/zh-cn/chaos-engineering.md | 6 +++--- content/zh-cn/cloud-native-apps.md | 2 +- content/zh-cn/containerization.md | 6 +++--- content/zh-cn/containers-as-a-service.md | 2 +- content/zh-cn/devops.md | 2 +- content/zh-cn/distributed-systems.md | 2 +- content/zh-cn/horizontal-scaling.md | 4 ++-- content/zh-cn/infrastructure-as-code.md | 8 ++++---- content/zh-cn/kubernetes.md | 2 +- content/zh-cn/microservices.md | 2 +- content/zh-cn/platform-as-a-service.md | 2 +- content/zh-cn/scalability.md | 6 +++--- content/zh-cn/security-chaos-engineering.md | 2 +- content/zh-cn/vertical-scaling.md | 2 +- content/zh-cn/virtual-machine.md | 2 +- 15 files changed, 25 insertions(+), 25 deletions(-) diff --git a/content/zh-cn/chaos-engineering.md b/content/zh-cn/chaos-engineering.md index c337e26567..448ed0c768 100644 --- a/content/zh-cn/chaos-engineering.md +++ b/content/zh-cn/chaos-engineering.md @@ -7,12 +7,12 @@ tags: ["安全", "", ""] ## 是什么 -混沌工程或 CE 是在生产中对 [分布式系统](/distributed-systems/) 进行实验的学科,以建立对系统承受动荡和意外情况时能力的信心。 +混沌工程或 CE 是在生产中对 [分布式系统](/zh-cn/distributed-systems/) 进行实验的学科,以建立对系统承受动荡和意外情况时能力的信心。 ## 解决的问题 -[SRE](/site_reliability_engineering/) 和 [DevOps](/devops/) 实践侧重于提高产品弹性和 [可靠性](/reliability/) 的技术。 -系统在故障容灾时确保服务质量的能力通常是对软件开发提出的要求。这里涉及到几个方面可能导致应用程序中断,例如基础设施、平台或(基于[微服务](/microservices/))的应用程序的其他部分。 +[SRE](/zh-cn/site_reliability_engineering/) 和 [DevOps](/zh-cn/devops/) 实践侧重于提高产品弹性和 [可靠性](/zh-cn/reliability/) 的技术。 +系统在故障容灾时确保服务质量的能力通常是对软件开发提出的要求。这里涉及到几个方面可能导致应用程序中断,例如基础设施、平台或(基于[微服务](/zh-cn/microservices/))的应用程序的其他部分。 高频地持续部署新功能到生产环境会增加服务中断和恶性事件发生的可能性,乃至于对业务产生重大影响。 ## 如何帮助 diff --git a/content/zh-cn/cloud-native-apps.md b/content/zh-cn/cloud-native-apps.md index d0b1c12417..35a7f58546 100644 --- a/content/zh-cn/cloud-native-apps.md +++ b/content/zh-cn/cloud-native-apps.md @@ -15,7 +15,7 @@ tags: ["应用程序", "", ""] ## 解决的问题 传统上,本地环境以相当定制的方式提供计算资源。 -每个数据中心都有与特定环境 [紧密耦合](/tightly-coupled-architectures/) 应用程序的服务,通常严重依赖于基础设施的手动配置,例如 [虚拟机](/zh-cn/virtual-machine/) 和服务。 +每个数据中心都有与特定环境 [紧密耦合](/zh-cn/tightly-coupled-architectures/) 应用程序的服务,通常严重依赖于基础设施的手动配置,例如 [虚拟机](/zh-cn/virtual-machine/) 和服务。 这反过来又将开发人员及其应用程序限制在该特定数据中心。 不是为云设计的应用程序无法利用云环境的弹性和伸缩能力。 例如,需要手动干预才能正确启动的应用程序无法自动伸缩,也无法在发生故障时自动重启。 diff --git a/content/zh-cn/containerization.md b/content/zh-cn/containerization.md index 534f5b2aa5..d1eae7ffb2 100644 --- a/content/zh-cn/containerization.md +++ b/content/zh-cn/containerization.md @@ -11,11 +11,11 @@ tags: ["应用程序", "", ""] 容器构建过程需要遵守 [开放容器倡议](https://opencontainers.org)(OCI) 标准。 只要输出的是一个符合这个标准的容器镜像,使用哪种容器化工具并不重要。 -## 解决的问题 +## 解决的问题 -在容器盛行之前,企业依靠虚拟机 (VMs) 在一台 [裸机](/bare-metal-machine/) 上协调多个应用程序。 +在容器盛行之前,企业依靠虚拟机 (VMs) 在一台 [裸机](/zh-cn/bare-metal-machine/) 上协调多个应用程序。 虚拟机比容器大得多,需要一个管理程序来运行。由于这些较大的虚拟机模板的存储、备份和传输,创建虚拟机模板也很慢。 -此外,虚拟机可能会出现配置漂移,这违反了 [不变性](/immutable-infrastructure/) 的原则。 +此外,虚拟机可能会出现配置漂移,这违反了 [不变性](/zh-cn/immutable-infrastructure/) 的原则。 ## 如何帮助 diff --git a/content/zh-cn/containers-as-a-service.md b/content/zh-cn/containers-as-a-service.md index f783e0c8b7..f82738412f 100644 --- a/content/zh-cn/containers-as-a-service.md +++ b/content/zh-cn/containers-as-a-service.md @@ -7,7 +7,7 @@ tags: ["平台", "", ""] ## 是什么 -容器即服务(CaaS)是一种云服务,有助于使用基于 [容器](/zh-cn/container/) 的 [抽象](/abstraction/) 管理和部署应用程序。 +容器即服务(CaaS)是一种云服务,有助于使用基于 [容器](/zh-cn/container/) 的 [抽象](/zh-cn/abstraction/) 管理和部署应用程序。 这项服务可以部署在企业内部或云中。 CaaS 供应商提供了一个框架或协调平台,使容器部署和管理的关键 IT 功能自动化。 diff --git a/content/zh-cn/devops.md b/content/zh-cn/devops.md index 2df2ad6875..4f10d37124 100644 --- a/content/zh-cn/devops.md +++ b/content/zh-cn/devops.md @@ -12,7 +12,7 @@ DevOps 需要一组工程师来处理小组件(相对于整个功能),从 ## 解决的问题 -传统上,在具有 [紧密耦合](/tightly-coupled-architectures/) [单体应用程序](/zh-cn/monolithic_apps/) 的复杂组织中,工作通常分散在多个组之间。 +传统上,在具有 [紧密耦合](/zh-cn/tightly-coupled-architectures/) [单体应用程序](/zh-cn/monolithic_apps/) 的复杂组织中,工作通常分散在多个组之间。 这导致了多次交接和较长的交货时间。 每次组件或更新准备就绪时,都会将其放入队列中以供下一个团队使用。 因为个人只参与了项目的一小部分,这种方法导致缺乏所有权。 他们的目标是将工作交给下一个小组,而不是为客户提供正确的功能——明显的优先级错位。 diff --git a/content/zh-cn/distributed-systems.md b/content/zh-cn/distributed-systems.md index b698226e8c..a09eba0205 100644 --- a/content/zh-cn/distributed-systems.md +++ b/content/zh-cn/distributed-systems.md @@ -8,7 +8,7 @@ tags: ["架构", "", ""] ## 是什么 分布式系统是通过网络连接的自主计算元素的集合,在用户看来是一个单一的连贯系统。 -一般被称为 [节点](/nodes/),这些组件可以是硬件设备(如电脑、手机)或软件进程。 +一般被称为 [节点](/zh-cn/nodes/),这些组件可以是硬件设备(如电脑、手机)或软件进程。 节点被编程以实现一个共同的目标,为了协作,它们通过网络交换信息。 ## 解决的问题 diff --git a/content/zh-cn/horizontal-scaling.md b/content/zh-cn/horizontal-scaling.md index 2c3957f72c..5da216b818 100644 --- a/content/zh-cn/horizontal-scaling.md +++ b/content/zh-cn/horizontal-scaling.md @@ -7,10 +7,10 @@ tags: ["基础设施", "", ""] ## 是什么 -水平伸缩是一种通过添加更多[节点](/nodes/)来增加系统容量的技术,而不是向单个节点添加更多计算资源(后者称为[垂直伸缩](/zh-cn/vertical-scaling/))。 +水平伸缩是一种通过添加更多[节点](/zh-cn/nodes/)来增加系统容量的技术,而不是向单个节点添加更多计算资源(后者称为[垂直伸缩](/zh-cn/vertical-scaling/))。 假设我们有一个 4GB RAM 的系统,并且想要将其容量增加到 16GB RAM,水平伸缩意味着通过添加 4 x 4GB RAM 而不是切换到 16GB RAM 系统来实现。 -这种方法通过添加新实例或[节点](/nodes/)来提高应用程序的性能,以更好地均衡工作负载。 +这种方法通过添加新实例或[节点]/zh-cn(/nodes/)来提高应用程序的性能,以更好地均衡工作负载。 简而言之,它旨在减少服务器的负载,而不是扩大单个服务器的容量。 ## 解决的问题 diff --git a/content/zh-cn/infrastructure-as-code.md b/content/zh-cn/infrastructure-as-code.md index 495c8c912a..cd25efa6b4 100644 --- a/content/zh-cn/infrastructure-as-code.md +++ b/content/zh-cn/infrastructure-as-code.md @@ -13,13 +13,13 @@ tags: ["基础设施", "", ""] ## 解决的问题 云原生方式构建应用程序要求基础设施是一次性的和可复现的。 -它还需要以自动化和可重复的方式按需 [伸缩](/scalability/),甚至可能无需人工干预。 -手动配置则无法满足 [云原生应用](/cloud_native_apps/) 对响应能力和灵活伸缩的诉求。 +它还需要以自动化和可重复的方式按需 [伸缩](/zh-cn/scalability/),甚至可能无需人工干预。 +手动配置则无法满足 [云原生应用](/zh-cn/cloud_native_apps/) 对响应能力和灵活伸缩的诉求。 而且手动基础架构变更不可复现,很容易碰到伸缩瓶颈,并引入错误配置。 ## 如何帮助 通过将服务器、负载均衡器和子网等数据中心资源表示为代码, -它允许基础架构团队对所有配置拥有单一的数据源,并允许他们在 -[CI](/continuous-integration/ )/[CD](/continuous-delivery/) +它允许基础架构团队对所有配置拥有单一的数据源,并允许他们在 +[CI](/zh-cn/continuous-integration/ )/[CD](/zh-cn/continuous-delivery/) 通道中管理数据中心,实现版本控制和部署策略。 diff --git a/content/zh-cn/kubernetes.md b/content/zh-cn/kubernetes.md index eb7eb22228..b344be018a 100644 --- a/content/zh-cn/kubernetes.md +++ b/content/zh-cn/kubernetes.md @@ -10,7 +10,7 @@ tags: ["基础设施", "", ""] Kubernetes,通常缩写为K8s,是一种流行的现代基础设施自动化的开源工具。 它就像一个数据中心的操作系统,管理在 [分布式系统](/zh-cn/distributed-systems/) 上运行的应用程序(就像你笔记本上的操作系统,管理你的应用程序)。 -Kubernetes在 [集群](/zh-cn/cluster/) 的 [节点](/nodes/) 上调度 [容器](/zh-cn/container/)。 +Kubernetes在 [集群](/zh-cn/cluster/) 的 [节点](/zh-cn/nodes/) 上调度 [容器](/zh-cn/container/)。 它捆绑了几个基础设施结构,有时被称为 "基元",如应用程序的实例、负载平衡器、持久性存储等,以一种可以被组成应用程序的方式。 Kubernetes 实现了自动化和可扩展性,使用户能够以可重复的方式声明性地部署应用程序。 diff --git a/content/zh-cn/microservices.md b/content/zh-cn/microservices.md index 1f2cef7d87..122b18e41e 100644 --- a/content/zh-cn/microservices.md +++ b/content/zh-cn/microservices.md @@ -16,7 +16,7 @@ tags: ["架构", "", ""] 微服务是对单体应用所带来的挑战的一种回应。一般来说,一个应用程序的不同部分需要分别进行 [伸缩](/zh-cn/scalability/)。 例如,一个在线商店将有更多的产品视图而不是结账。这意味着你需要更多的产品视图功能的运行,而不是结账。 在一个单一的应用程序中,这些逻辑位不能被单独部署。如果你不能单独扩展产品功能,你将不得不复制整个应用程序和所有其他你不需要的组件--这是一种低效的资源利用。 -单机式应用程序也使开发人员容易屈服于设计陷阱。因为所有的代码都在一个地方,所以更容易使这些代码 [高耦合](/tightly-coupled-architectures/),更难执行关注点分离的原则。 +单机式应用程序也使开发人员容易屈服于设计陷阱。因为所有的代码都在一个地方,所以更容易使这些代码 [高耦合](/zh-cn/tightly-coupled-architectures/),更难执行关注点分离的原则。 单机通常要求开发人员了解整个代码库,然后才能有成效。 ## 如何帮助 diff --git a/content/zh-cn/platform-as-a-service.md b/content/zh-cn/platform-as-a-service.md index dcfc793017..db9a758735 100644 --- a/content/zh-cn/platform-as-a-service.md +++ b/content/zh-cn/platform-as-a-service.md @@ -13,7 +13,7 @@ Heroku、Cloud Foundry、App Engine 是 PaaS 产品的示例。 ## 解决的问题 要利用好 [微服务](/zh-cn/microservices/) 或 [分布式应用程序](/zh-cn/distributed-apps/) 等云原生模式, -运维团队和开发人员需要能够免去大量运维工作, 其中包括供应基础设施、处理[服务发现](/service-discovery/) 和 +运维团队和开发人员需要能够免去大量运维工作, 其中包括供应基础设施、处理[服务发现](/zh-cn/service-discovery/) 和 负载平衡以及[扩展](/zh-cn/scalability/) 应用程序等任务。 ## 如何帮助 diff --git a/content/zh-cn/scalability.md b/content/zh-cn/scalability.md index fda6e77a42..588e08a348 100644 --- a/content/zh-cn/scalability.md +++ b/content/zh-cn/scalability.md @@ -7,9 +7,9 @@ tags: ["基本原理", "", ""] 可伸缩性指的是一个系统能有多大的发展。这就是增加做任何系统应该做的事情的能力。 例如,[Kubernetes](/zh-cn/kubernetes/) [集群](/zh/cluster/) 通过增加或减少 [容器化](/zh-cn/containerization/) 应用程序的数量来进行伸缩,但这种可伸缩性取决于几个因素。 -它有多少[节点](/nodes/),每个节点可以处理多少个[容器](/zh-cn/container/),控制平面可以支持多少条记录和操作? +它有多少[节点](/zh-cn/nodes/),每个节点可以处理多少个[容器](/zh-cn/container/),控制平面可以支持多少条记录和操作? 可伸缩的系统使添加更多容量更容易。主要有两种缩放方法。 -一方面,有 [水平伸缩](/horizontal-scaling/) 添加更多节点来处理增加的负载。 -相比之下,在 [垂直伸缩](/vertical-scaling/) 中,单个节点的功能更强大,可以执行更多事务(例如,通过向单个机器添加更多内存或 CPU)。 +一方面,有 [水平伸缩](/zh-cn/horizontal-scaling/) 添加更多节点来处理增加的负载。 +相比之下,在 [垂直伸缩](/zh-cn/vertical-scaling/) 中,单个节点的功能更强大,可以执行更多事务(例如,通过向单个机器添加更多内存或 CPU)。 可伸缩的系统能够轻松更改并满足用户需求。 diff --git a/content/zh-cn/security-chaos-engineering.md b/content/zh-cn/security-chaos-engineering.md index 68669f40a4..3b3a2b20c7 100644 --- a/content/zh-cn/security-chaos-engineering.md +++ b/content/zh-cn/security-chaos-engineering.md @@ -11,7 +11,7 @@ tags: ["安全", "", ""] ## 解决的问题 -[网站稳定性工程师](/site-reliability-engineering/)(SRE) 和网络安全工程师的主要职责是尽快恢复服务,来达到零停机时间和最小化业务影响的目标。 SRE 和网络安全工程师共同处理故障前和故障后的各种意外情况。大多数安全问题很难快速发现和修补,这将影响应用程序或系统的功能。此外,在开发阶段通常很难发现安全事件。 +[网站稳定性工程师](/zh-cn/site-reliability-engineering/)(SRE) 和网络安全工程师的主要职责是尽快恢复服务,来达到零停机时间和最小化业务影响的目标。 SRE 和网络安全工程师共同处理故障前和故障后的各种意外情况。大多数安全问题很难快速发现和修补,这将影响应用程序或系统的功能。此外,在开发阶段通常很难发现安全事件。 ## 如何帮助 diff --git a/content/zh-cn/vertical-scaling.md b/content/zh-cn/vertical-scaling.md index 72454a008e..f5bfec3a2c 100644 --- a/content/zh-cn/vertical-scaling.md +++ b/content/zh-cn/vertical-scaling.md @@ -7,7 +7,7 @@ tags: ["基础设施", "", ""] ## 是什么 -垂直伸缩,也称为“向上和向下伸缩”,是一种通过在工作负载增加时向单个[节点](/nodes/)添加CPU和内存来增加系统容量的技术。 +垂直伸缩,也称为“向上和向下伸缩”,是一种通过在工作负载增加时向单个[节点](/zh-cn/nodes/)添加CPU和内存来增加系统容量的技术。 假设您有一台 4GB RAM 的计算机,并且想要将其容量增加到 16GB RAM,垂直伸缩就意味着切换到 16GB RAM 系统。 (请参阅[水平伸缩](/zh-cn/horizontal-scaling/)了解不同的伸缩方法。) diff --git a/content/zh-cn/virtual-machine.md b/content/zh-cn/virtual-machine.md index b32181006f..eddd48a498 100644 --- a/content/zh-cn/virtual-machine.md +++ b/content/zh-cn/virtual-machine.md @@ -14,7 +14,7 @@ tags: ["基本原理", "基础设施", ""] ## 解决的问题 虚拟机利用了虚拟化的优势。 -当 [裸机](/bare-metal-machine/) 机器被束缚在一个单一的操作系统上时,该机器的资源的使用受到一定的限制。 +当 [裸机](/zh-cn/bare-metal-machine/) 机器被束缚在一个单一的操作系统上时,该机器的资源的使用受到一定的限制。 另外,当一个操作系统被绑定在一个单一的物理机上时,它的可用性直接与该硬件联系在一起。 如果物理机由于维护或硬件故障而脱机,操作系统也会脱机。 From c24393746a0dd705a441ebdda5bbab990724d43e Mon Sep 17 00:00:00 2001 From: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> Date: Thu, 15 Sep 2022 23:25:24 +0000 Subject: [PATCH 16/25] docs: add missing url prefix Signed-off-by: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> --- content/zh-cn/horizontal-scaling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/horizontal-scaling.md b/content/zh-cn/horizontal-scaling.md index 5da216b818..f7d845c2c9 100644 --- a/content/zh-cn/horizontal-scaling.md +++ b/content/zh-cn/horizontal-scaling.md @@ -10,7 +10,7 @@ tags: ["基础设施", "", ""] 水平伸缩是一种通过添加更多[节点](/zh-cn/nodes/)来增加系统容量的技术,而不是向单个节点添加更多计算资源(后者称为[垂直伸缩](/zh-cn/vertical-scaling/))。 假设我们有一个 4GB RAM 的系统,并且想要将其容量增加到 16GB RAM,水平伸缩意味着通过添加 4 x 4GB RAM 而不是切换到 16GB RAM 系统来实现。 -这种方法通过添加新实例或[节点]/zh-cn(/nodes/)来提高应用程序的性能,以更好地均衡工作负载。 +这种方法通过添加新实例或[节点](/zh-cn/nodes/)来提高应用程序的性能,以更好地均衡工作负载。 简而言之,它旨在减少服务器的负载,而不是扩大单个服务器的容量。 ## 解决的问题 From 7afa3b7de874fdb1743d698205496ddf90ad7eb1 Mon Sep 17 00:00:00 2001 From: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> Date: Fri, 16 Sep 2022 10:58:41 +0800 Subject: [PATCH 17/25] docs: fix terminology description (#1319) Signed-off-by: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> Signed-off-by: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> --- content/zh-cn/containerization.md | 4 ++-- content/zh-cn/containers-as-a-service.md | 2 +- content/zh-cn/infrastructure-as-a-service.md | 4 ++-- content/zh-cn/infrastructure-as-code.md | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/zh-cn/containerization.md b/content/zh-cn/containerization.md index 534f5b2aa5..2f969af2b4 100644 --- a/content/zh-cn/containerization.md +++ b/content/zh-cn/containerization.md @@ -7,7 +7,7 @@ tags: ["应用程序", "", ""] ## 是什么 -容器化是将一个应用程序及其依赖关系捆绑到 [容器图像](/zh-cn/container-image/) 中的过程。 +容器化是将一个应用程序及其依赖关系捆绑到 [容器镜像](/zh-cn/container-image/) 中的过程。 容器构建过程需要遵守 [开放容器倡议](https://opencontainers.org)(OCI) 标准。 只要输出的是一个符合这个标准的容器镜像,使用哪种容器化工具并不重要。 @@ -19,7 +19,7 @@ tags: ["应用程序", "", ""] ## 如何帮助 -容器图像是轻量级的(与传统的虚拟机不同),容器化过程需要一个带有依赖性列表的文件。 +容器镜像是轻量级的(与传统的虚拟机不同),容器化过程需要一个带有依赖性列表的文件。 这个文件可以被版本控制,构建过程也可以自动化,允许一个组织在自动化过程中关注其他优先事项。 容器镜像由一个唯一的标识符来存储,该标识符与它的确切内容和配置相联系。 当容器被安排和重新安排时,它们总是被重置为其初始状态,从而消除了配置漂移。 diff --git a/content/zh-cn/containers-as-a-service.md b/content/zh-cn/containers-as-a-service.md index f783e0c8b7..b062bfa2b9 100644 --- a/content/zh-cn/containers-as-a-service.md +++ b/content/zh-cn/containers-as-a-service.md @@ -1,5 +1,5 @@ --- -title: 容器即服务 +title: 容器即服务 (CaaS) status: Completed category: 技术 tags: ["平台", "", ""] diff --git a/content/zh-cn/infrastructure-as-a-service.md b/content/zh-cn/infrastructure-as-a-service.md index 1b0a3e5e7f..653c2212af 100644 --- a/content/zh-cn/infrastructure-as-a-service.md +++ b/content/zh-cn/infrastructure-as-a-service.md @@ -1,5 +1,5 @@ --- -title: 基础设施即代码 (IaaS) +title: 基础设施即服务 (IaaS) status: Completed category: 技术 tags: ["基础设施", "", ""] @@ -7,7 +7,7 @@ tags: ["基础设施", "", ""] ## 是什么 -基础设施即代码,或者 IaaS ,是一种 [云计算](/zh-cn/cloud-computing/) 服务模型, +基础设施即服务,或者 IaaS ,是一种 [云计算](/zh-cn/cloud-computing/) 服务模型, 它提供 [物理](/zh-cn/bare-metal-machine/) 或 [虚拟](/zh-cn/virtualization/) 的计算、存储和网络资源,使用按需按量的计费模式。 云提供商拥有和管理软件和硬件设施,可供消费者在公共、私有或混合云部署和使用。 diff --git a/content/zh-cn/infrastructure-as-code.md b/content/zh-cn/infrastructure-as-code.md index 495c8c912a..f952ae667e 100644 --- a/content/zh-cn/infrastructure-as-code.md +++ b/content/zh-cn/infrastructure-as-code.md @@ -1,5 +1,5 @@ --- -title: 基础设施即代码 +title: 基础设施即代码 (IaC) status: Completed category: 概念 tags: ["基础设施", "", ""] From 283234b821c47aa05d31d857e83bb93a94e674ea Mon Sep 17 00:00:00 2001 From: windsonsea Date: Fri, 18 Nov 2022 12:36:08 +0800 Subject: [PATCH 18/25] [zh] sync software-as-a-service.md Signed-off-by: windsonsea --- content/zh-cn/software-as-a-service.md | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/zh-cn/software-as-a-service.md diff --git a/content/zh-cn/software-as-a-service.md b/content/zh-cn/software-as-a-service.md new file mode 100644 index 0000000000..4966d7db2d --- /dev/null +++ b/content/zh-cn/software-as-a-service.md @@ -0,0 +1,28 @@ +--- +Title: 软件即服务 (SaaS) +Status: Completed +Category: 技术 +tags: ["基本原理", "平台", ""] +--- + +## 是什么 + +软件即服务 (SaaS) 允许用户通过互联网连接或使用云服务。 +常见的例子有电邮、日历和办公工具(例如 Gmail、AWS、GitHub、Slack)。 +SaaS 以按需付费的方式提供完整的软件解决方案。 +所有运维任务和应用数据由服务提供商处理。 + +## 解决的问题 + +传统的商业软件被安装在独立的计算机上,需要管理员维护和更新。 +例如:某组织可能在企业内部使用客户关系管理 (CRM) 软件。 +该软件需要内部 IT 部门采购、安装、确保安全、维护和定期升级,为 IT 团队增加了负担。 +与许可证、安装和潜在附加硬件相关的前期成本可能令人望而却步。 +也很难按需响应,很难随着业务增长或变化快速[扩缩](/zh-cn/scalability/)。 + +## 如何帮助 + +SaaS 应用无需内部 IT 部门付出任何特别努力即可工作。 +这些应用由供应商安装、维护、升级和确保安全。 +扩缩、可用性和容量问题由服务提供商处理,采用按需付费的模式。 +对于想要使用企业级应用的各个组织而言,SaaS 是一种经济实惠的方式。 From c045358de798cccd741c0e92202eb6b8c72017cd Mon Sep 17 00:00:00 2001 From: windsonsea Date: Fri, 18 Nov 2022 22:11:40 +0800 Subject: [PATCH 19/25] [zh] sync stateful-apps.md in Chinese Signed-off-by: windsonsea --- content/zh-cn/stateful-apps.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/zh-cn/stateful-apps.md diff --git a/content/zh-cn/stateful-apps.md b/content/zh-cn/stateful-apps.md new file mode 100644 index 0000000000..ee04c5d73e --- /dev/null +++ b/content/zh-cn/stateful-apps.md @@ -0,0 +1,28 @@ +--- +title: 有状态应用 +status: Completed +category: 概念 +tags: ["基本原理", "", ""] +--- + +## 是什么 + +当我们说到有状态(和[无状态](/zh-cn/stateless-apps/))应用时, +状态是指应用需要存储以便其按设计运行的任何数据。 +例如,任何能记住您购物车的在线商店都是有状态应用。 + +## 解决的问题 + +使用一个应用通常需要多个请求。 +例如,使用网上银行时,您将通过输入密码(请求 #1)来验证自己的身份, +然后您可以将钱转给某个朋友(请求 #2),最后您需要查看转账详情(请求 #3)。 +为了保证正常运行,每一步都必须记住前面的步骤,银行需要记住每个人的账户状态。 +今天我们使用的大多数应用至少总有一部分是有状态的, +因为这些应用会存储诸如偏好和设置之类的东西以改善用户体验。 + +## 如何帮助 + +有几种方法可以为有状态应用存储状态。 +最简单的是将状态保存在内存中,而不是将其持久保存在任何其他地方。 +这样做的问题是,每次应用必须重启时,所有状态都会丢失。 +为了防止这种情况发生,状态被持久存储在本地(磁盘上)或数据库系统中。 From ced331bbfedc1eaf546d1ae56e2654be1e0b926e Mon Sep 17 00:00:00 2001 From: windsonsea Date: Sat, 19 Nov 2022 09:35:39 +0800 Subject: [PATCH 20/25] [zh] sync stateless-apps.md in Chinese Signed-off-by: windsonsea --- content/zh-cn/stateless-apps.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 content/zh-cn/stateless-apps.md diff --git a/content/zh-cn/stateless-apps.md b/content/zh-cn/stateless-apps.md new file mode 100644 index 0000000000..d00ca8074e --- /dev/null +++ b/content/zh-cn/stateless-apps.md @@ -0,0 +1,30 @@ +--- +title: 无状态应用 +status: Feedback Appreciated +category: 技术 +tags: ["基本原理", "", ""] +--- + +## 是什么 + +无状态应用不会在应用所在的服务器上保存任何客户端会话(状态)数据。 +每个会话都像第一次一样执行,响应不依赖于前一个会话的数据并提供使用打印服务、内容分发网络(CDN)或 +Web 服务器的功能,以处理每个短期请求。 +例如,有人在搜索引擎中搜索某个问题并按下了回车键。 +如果搜索操作由于某种原因被中断或关闭,您必须重新开始一个新的,因为您之前的请求没有保存数据。 + +## 解决的问题 + +无状态应用解决了弹性问题,因为[集群](/zh-cn/cluster/)中的不同 Pod 可以独立工作, +同时允许多个请求到达这些 Pod。 +如果应用出现故障,您只需重启应用,就能恢复到初始状态,停机时间很短或没有停机时间。 +因此,无状态应用的好处包括坚韧、弹性和高可用性。 +然而,我们今天使用的大多数应用至少总有一部分是[有状态的](/zh-cn/stateful-apps/), +因为它们会存储诸如偏好和设置之类的东西以改善用户体验。 + +## 如何帮助 + +归根结底,在无状态应用中集群唯一负责的是托管在其上的代码和其他静态内容。 +就是这样,不更改数据库,没有写入,删除 Pod 时也没有留下文件。 +无状态[容器](/zh-cn/container/)更易于部署,您无需担心如何将容器数据保存在持久存储卷上。 +您也不必担心备份数据。 From 3f1e1ccbc72830e2e799e68c183ef10b88e49d9d Mon Sep 17 00:00:00 2001 From: windsonsea Date: Mon, 21 Nov 2022 11:07:59 +0800 Subject: [PATCH 21/25] [zh] sync portability.md in Chinese Signed-off-by: windsonsea --- content/zh-cn/portability.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 content/zh-cn/portability.md diff --git a/content/zh-cn/portability.md b/content/zh-cn/portability.md new file mode 100644 index 0000000000..90e50f2c96 --- /dev/null +++ b/content/zh-cn/portability.md @@ -0,0 +1,14 @@ +--- +title: 可移植性 +status: Completed +category: 属性 +tags: ["基本原理", "", ""] +--- + +可移植性是一种软件特征,一种可重用性的形式,有助于避免“锁定”到某些操作环境, +例如云提供商、操作系统或供应商。 + +传统软件通常是为特定环境(例如 AWS 或 Linux)构建的。 +而可移植软件可以在不同的操作环境中工作,无需大量返工。 +如果应用适配新环境所需的工作量在合理范围内,则该应用被认为是可移植的。 +“移植”这个词意味着修改软件并使其适应在不同的计算机系统上工作。 \ No newline at end of file From d8f8bac910402bcdfd5a1a5785a2aa671d370cb5 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Tue, 22 Nov 2022 09:52:58 +0800 Subject: [PATCH 22/25] [zh] sync policy-as-code.md in Chinese Signed-off-by: windsonsea --- content/zh-cn/policy-as-code.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 content/zh-cn/policy-as-code.md diff --git a/content/zh-cn/policy-as-code.md b/content/zh-cn/policy-as-code.md new file mode 100644 index 0000000000..11cf4347ed --- /dev/null +++ b/content/zh-cn/policy-as-code.md @@ -0,0 +1,23 @@ +--- +title: 策略即代码 (PaC) +status: Feedback Appreciated +category: 概念 +tags: ["", "", ""] +--- + +## 是什么 + +策略即代码是将一些策略的定义存储为一个或多个机器可读和可处理格式文件的做法。 +这取代了在传统模型中,以人类可读的形式记录在单独文档中的策略。 + +## 解决的问题 + +构建应用和基础设施通常受到某组织所定义的许多策略的约束, +例如禁止在源代码中存储 Secret、禁止以超级用户权限运行容器或禁止将某些数据存储在特定地理区域之外的安全策略。 +对于开发人员和审查人员来说,按照策略文档手动检查应用和基础设施既耗时费力又容易出错。 +手动检查策略无法满足云原生应用的响应要求和扩缩要求。 + +## 如何帮助 + +通过使用策略即代码,可以自动检查系统属性和操作。 +软件开发的最佳实践也适用于构建策略即代码,例如使用 Git 及相关工作流。 From e38a84a72e519247d238234152a6c6c5e246a613 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 22 Nov 2022 17:46:53 +0800 Subject: [PATCH 23/25] [zh] sync observability.md in Chinese (#1478) Signed-off-by: windsonsea Signed-off-by: windsonsea --- content/zh-cn/observability.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 content/zh-cn/observability.md diff --git a/content/zh-cn/observability.md b/content/zh-cn/observability.md new file mode 100644 index 0000000000..23b6cb1d8b --- /dev/null +++ b/content/zh-cn/observability.md @@ -0,0 +1,27 @@ +--- +title: 可观测性 +status: Completed +category: 概念 +tags: ["方法论", "应用程序", "基础设施"] +--- + +## 是什么 + +可观测性指的是从所观测的系统采集信号,持续生成并发现可执行的洞察力。 +换言之,可观测性允许用户从某个系统的外部输出中洞察该系统的状态并采取(修正)措施。 + +## 解决的问题 + +计算机系统的衡量机制为观测 CPU 时间、内存、磁盘空间等底层信号以及每秒 +API 响应次数、每秒错误率、每秒处理的事务数等高级信号和业务信号。 + +系统的可观测性对其运营和开发成本有重大影响。 +可观测系统为操作人员提供了有意义的、可执行的数据,使他们能够达成有利的结果 +(即更快的事件响应、更高的开发效率)以及更少的艰辛时刻和更短的停机时间。 + +## 如何帮助 + +请注意,更多的信息并不一定能转化为可观测性更好的系统。 +事实上,有时系统生成的大量信息会形成信息噪音,会使得鉴别有价值的健康信号变得更加困难。 +可观测性需要在合适的时间为合适的消费者(一个人或一个软件)提供合适的数据,从而做出合适的决策。 + From a9fe7b2552a7a781f5278cdba6b82160b7fdb9a9 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Wed, 23 Nov 2022 17:08:37 +0800 Subject: [PATCH 24/25] [zh] sync managed-services.md in Chinese Signed-off-by: windsonsea --- content/zh-cn/managed-services.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 content/zh-cn/managed-services.md diff --git a/content/zh-cn/managed-services.md b/content/zh-cn/managed-services.md new file mode 100644 index 0000000000..1761be3509 --- /dev/null +++ b/content/zh-cn/managed-services.md @@ -0,0 +1,23 @@ +--- +title: 托管服务 +status: Completed +category: 技术 +tags: ["", "", ""] +--- + +## 是什么 + +托管服务是一种软件产品,其运营和管理由第三方负责。 +例如类似 Amazon RDS 的数据库即服务或类似 Datadog 的外部监控服务。 + +## 解决的问题 + +软件的管理比较复杂,尤其是要考虑现代技术栈所包含的各种不同技术。 +而想要将管理做到面面俱到并招募能胜任此职的内部专家,要么成本过于高昂,要么会耗用工程师的宝贵时间。 +你的团队应投入精力构建新功能,而不是处理可以通过外包就能轻松解决的运营任务。 + +## 如何帮助 + +托管服务从一开始就处于使用就绪状态,运营开销非常小。 +托管服务具备良好定义的、通常由 [API](/zh-cn/application-programming-interface/) 驱动的边界, +便于各个组织将超出其核心竞争力的任务有效外包出去。 From bc7a41feb98d9a5beeb4c1d98cc4218f28c8b2d3 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 26 Nov 2022 01:28:27 +0800 Subject: [PATCH 25/25] [zh] sync container-orchestration.md in Chinese (#1492) Signed-off-by: Michael Signed-off-by: Michael --- content/zh-cn/container-orchestration.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 content/zh-cn/container-orchestration.md diff --git a/content/zh-cn/container-orchestration.md b/content/zh-cn/container-orchestration.md new file mode 100644 index 0000000000..8458ca1c76 --- /dev/null +++ b/content/zh-cn/container-orchestration.md @@ -0,0 +1,24 @@ +--- +title: 容器编排 +status: Completed +category: 概念 +--- + +## 是什么 + +[容器](/zh-cn/container/)编排指的是在动态的环境中自动管理容器化应用的生命周期。 +这通过一个容器编排器(大多是 [Kubernetes](/zh-cn/kubernetes))来执行,实现部署、(自动)扩缩、自愈和监控。 +编排是一个比喻用词:编排工具像乐队指挥一样指挥众多容器,确保每个容器(或乐手)各行其是。 + +## 解决的问题 + +手动管理大规模的[微服务](/zh-cn/microservices)、安全性和网络通信 +(及常见的[分布式系统](/zh-cn/distributed-systems))即使并非不可能,亦会非常困难。 +而容器编排能让用户自动化处理所有这些管理任务。 + +## 如何帮助 + +容器编排工具允许用户确定系统的状态。 +首先,这些工具会声明系统应具备的框架(例如 x 个容器、y 个 Pod 等)。 +然后,编排工具将自动监控基础设施,并在其状态偏离声明的状态时对其进行修正(例如如果一个容器崩溃,则启动一个新的容器)。 +这种自动化作业精简了许多工程团队原本需要大量手动完成的复杂运营任务,例如制备、部署、扩缩容、联网、负载均衡和其他活动。