# Tidb Cloud 主要组件介绍
+ TiDB Cloud 是如何组织的？
+ TiDB Cloud 架构层：
+ 平台-微服务
+ 基础架构 — Kubernetes 对象、Infra API 对象、用于协调 API 对象的控制器
+ 可观察性-诊断数据收集链路和集中存储系统以及日志收集代理
+ TiDB Cloud 细分：
+ 开发层 — 单个 TiDB 集群免费提供一年
+ 手动管理——AWS 和 GCP 账户、外部应用程序（如 Zendesk、Auth0、Salesforce 等）
+ 基础设施即代码 (iAC)
+ CICD-CICD 持续整合的综合实践弥合了开发和运营活动之间的差距（概念和持续集成）
+ 由 TiDB Cloud 管理 — TiDB 如前所述（PD、TiDB、TiKV、tiFlash、tiPark）管理 TiDB 组件
+ 用于保护网站连接的传输层安全 (TLS) 证书

------------------------------------------------------------
这是一个非常复杂的过程。在本入门类中，我们不会详细介绍每个组件。

VPC — 虚拟私有云

TiDB Cloud 在架构上可以分为平台和基础架构，还有一个旁路可观测性栈；总结如下：

    -平台：一套以 Infra API 为基础的微服务，控制、封装、授权、构建、整合 TiDB 的各种云即服务功能，方便用户通过 UI 或 OpenAPI 在云上使用 TiDB 及相关生态系统服务； 

    -基础架构：与 Kubernetes 相同的设计模式，存储以 Infra API 为中心的声明式 API 对象，外加一组负责协调这些 API 对象的控制器。在职责方面，屏蔽上层不受云基础资源管理细节的影响，提供 TiDB 集群、TiDC VPC Peering 编排功能； 

    -可观察性：它由诊断数据收集链路和集中式诊断数据存储系统组成，包括每个 Kubernetes 集群中的日志收集代理和指标收集代理，收集虚拟机/容器/应用程序级别的日志和指标，并将它们汇总到中心存储。提供 TiDB Cloud 管理平面、TiDB集群等外部诊断数据和异常告警； 

Infra API

开放 API

Kubernetes (K8)

开发层 

手动管理

基础设施即代码 (iAC) 通过代码而不是手动管理和配置基础架构，简化了应用程序的开发、配置和运行时。

iAC 是一种 IT 实践，它利用代码来：

    -自动化基础架构配置、部署、配置和管理

    -协调所有基础架构组件的操作，例如硬件、软件、网络、虚拟机、容器、数据库和云基础架构元素

    -配置、监控和管理所有基础设施组件和系统

随着工作负载、容器和云计算的广泛采用，iAC 已成为 DevOps 的重要组成部分，它支持自动化并持续监控从集成和测试到交付和部署的整个应用程序生命周期。它也是应用程序和容器安全以及整体工作负载保护的重要方面。

CICD

由 TiDB Cloud 管理

TLS 证书

TiDB 专有网络（虚拟私有云）

对于每个 TiDB Cloud 集群，所有 TiDB 节点和辅助节点，包括 TiDB 运营者节点、日志节点等，都部署在独立的 VPC 中。

TiDB Cloud 中心服务
中央服务（包括计费、提醒、元存储、仪表板 UI）都是独立部署的。您可以通过互联网访问控制面板 UI 来操作 TiDB集群。

你的 VPC
你可以通过 VPC 对等连接来连接你的 TiDB集群。有关详细信息，请参阅设置 VPC 对等连接。

通过多可用区部署实现高可用性
TiDB 使用 Raft共识算法来确保数据高度可用，并在 Raft Group 的存储中安全复制。数据在存储节点之间进行冗余拷贝，并放置在不同的可用性区中，以防止计算机或数据中心出现故障。通过自动故障转移，TiDB 可确保您的服务始终处于开启状态。

TiDB Cloud 集群主要由三部分组成：TiDB 节点、TiKV 节点和 TiFlash 节点。每个组件的高可用性实现如下所示：

    -TiDB 节点
    TiDB 仅用于计算，不存储数据。它具有水平可扩展性。TiDB Cloud 将 TiDB 节点平均部署到一个地域的不同可用性区。建议您在每个 TiDB 云集群中至少配置两个 TiDB 节点以实现高可用。

    -TiKV 节点
    TiKV 用于存储数据。它可横向扩展，节点数量应至少为 1 组（3 个不同可用性区中的 3 个节点）。每个 TiDB Cloud 集群的 TiKV 中的数据有 3 个副本，每个副本存储在三个不同的 TiKV 节点中，这些节点分布在三个不同的可用性区中。

    -tiFlash（测试版）节点
    作为 TiKV 的列式存储扩展，TiFlashBeta 是使 TiDB 实质上成为混合事务/分析处理 (HTAP) 数据库的关键组件。在 TiFlashBeta 中，列式副本是根据 Raft Learner 共识算法异步复制的。为了节省 TiFlashBeta 节点之间的数据传输成本，TiDB Cloud 将一个 TiDB Cloud 集群的所有 TiFlashBeta 节点部署到一个地域的一个可用区中。建议您在每个 TiDB Cloud 集群中至少配置两个 TiFlashBeta 节点，并至少创建 2 个数据副本，以便在生产环境中实现高可用。

