了解如何在 Oracle Cloud 上将单体应用转换为容器化服务
由于其性质,单体应用是固定的和线性的,因此难以随着时间的推移管理和更新。
由于采用单体架构模式来设计和开发作为一个单元的完整应用,可靠性可能是一个主要问题,特别是在涉及纠缠和耦合的情况下。这是因为如果任何模块中出现了一个错误,可能会使整个应用程序不可用。
如果您的应用需要可扩展性、可靠性、敏捷性和自治性,则应考虑采用微服务架构。与固定和线性单体相比,微服务体系结构依赖于设计、开发和部署应用程序作为可独立部署和测试的松散耦合服务的集合。
微服务架构的最大好处之一是,它们不会影响其他服务的开发和部署及其能力。您可以独立于其他微服务扩展特定的微服务,并且您可以为每个特定服务选择技术堆栈和编程语言。
体系结构
下面的体系结构图显示了容器化应用程序彼此独立运行的最终部署。
该体系结构包含以下组件:
- 租户
租户是 Oracle 在您注册 Oracle Cloud Infrastructure 时在 Oracle Cloud 中设置的安全隔离分区。您可以在租户中的 Oracle Cloud 中创建、组织和管理资源。租户与公司或组织同义。通常,公司只有一个租户并反映在该租户中的组织结构。单个租户通常与单个订阅关联,单个订阅通常只有一个租户。
- 区域
Oracle Cloud Infrastructure 区域是一个局部地理区域,包含一个或多个称为可用性域的数据中心。区域独立于其他区域,广阔的距离可以将其分开(跨国家甚至大陆)。
- 可用性域
可用性域是区域中的独立独立数据中心。每个可用性域中的物理资源与提供容错能力的其他可用性域中的资源隔离。可用性域不共享基础设施(例如电源或冷却设备)或内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 容错域
故障域是可用性域内一组硬件和基础设施。每个可用性域都具有三个具有独立电源和硬件的容错域。在多个容错域中分配资源时,您的应用可以承受容错域中的物理服务器故障、系统维护和电源故障。
- 虚拟云网络 (VCN) 和子网
VCN 是您在 Oracle Cloud Infrastructure 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您完全控制您的网络环境。一个 VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后对其进行更改。您可以将 VCN 细分为多个子网,这些子网可以限定到区域或可用性域。每个子网包含一系列不与 VCN 中的其他子网重叠的连续地址。创建后可以更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许进出子网的流量源、目标和类型。
- 路由表
虚拟路由表包含将流量从子网路由到 VCN 外部的目标(通常通过网关)的规则。
- 负载平衡器
Oracle Cloud Infrastructure Load Balancing 服务提供从单个入口点到后端多个服务器的自动流量分配。
- 适用于 Kubernetes 的容器引擎
Oracle Cloud Infrastructure Container Engine for Kubernetes 是一项完全托管、可扩展的高可用性服务,可用于将容器化应用部署到云中。您可以指定应用所需的计算资源,而适用于 Kubernetes 的容器引擎将在现有租户的 Oracle Cloud Infrastructure 上预配这些资源。适用于 Kubernetes 的容器引擎使用 Kubernetes 在主机集群中自动部署、扩展和管理容器化应用。
- 计算
Oracle Cloud Infrastructure Compute 服务允许您在云中预配和管理计算主机。您可以使用配置启动计算实例,以满足您对 CPU、内存、网络带宽和存储的资源需求。创建计算实例后,您可以安全地访问它、重新启动它、连接和分离卷,并在不再需要时终止它。
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing 是一种自我驱动、自我保护和自我修复的数据库服务,针对事务处理负载进行了优化。您不需要配置或管理任何硬件,也不需要安装任何软件。Oracle Cloud Infrastructure 可处理数据库创建以及备份、打补丁、升级和调优数据库。
