--> 探索部署甲骨文云OCI银行微服务和OKE的前沿技术
欢迎访问深圳敏捷云计算科技有限公司!

探索部署甲骨文云OCI银行微服务和OKE的前沿技术

2024-01-17 原创文章

学习如何使用甲骨文云基础设施容器引擎(Kubernetes)和甲骨文银行微服务,来现代化您的银行基础设施。甲骨文容器引擎用于Kubernetes(OKE)是一项全面管理的、可扩展的、高可用性的服务,您可以用它将容器化应用程序部署到云中。当您的开发团队希望可靠地构建、部署和管理云原生应用程序时,可以使用OKE。您指定应用程序所需的计算资源,OKE会在现有的OCI租户中的甲骨文云基础设施(OCI)上为它们提供资源。


架构

该架构描述了如何实现甲骨文银行微服务和甲骨文云基础设施容器引擎(Kubernetes),以高效利用微服务。


甲骨文银行微服务架构

甲骨文提供业界最广泛的领域驱动的银行解决方案集,涵盖零售和企业银行业务,并从客户数字体验层到银行产品处理器或核心银行领域,实现端到端覆盖。


所有这些功能都以一组自治模块的形式提供,这些模块采用领域驱动设计,使用最先进的微服务架构实现。每个模块都由一组特定业务领域的微服务、跨所有模块的一组通用功能基础微服务(共享核心)以及提供所需技术能力的平台服务组成。


下图展示了分行模块中不同层级的微服务。通过这种架构,甲骨文银行微服务为银行业务的数字化转型提供了强大的支持,使银行能够更加灵活、高效地管理其服务和产品,同时提高对市场变化的响应速度和服务质量。每个微服务模块都经过精心设计,确保在提供专业银行服务的同时,也能实现高度的模块化和可扩展性,满足现代银行业务的复杂需求。


此架构提供了最大的部署灵活性。每个微服务都可以被容器化成一个Docker镜像,并且可以单独部署。这种方式提供了对部署的完全控制,允许您根据特定客户需求更新或扩展任何特定的微服务。


一些客户可能不需要这种级别的平台管理细粒度,并且可能更喜欢简化的方法,将微服务分组到减少数量的Docker镜像中。尽管这种方法减少了在个别级别上更新和扩展的灵活性,但它仍然为具有标准要求的客户提供了关于可扩展性、高可用性等方面所需的控制水平。在这种情况下,考虑微服务的含义和特性进行分组非常重要。在此参考架构中,我们提出了一个考虑这些因素的分组:

  • 工作负载类型:基于REST的、批处理的、事件驱动的、工作流驱动的。
  • 关键组件:某些组件对于平台来说至关重要。它们的工作负载比其他组件更高。


下图展示了建议的分组方式。通过这种分组,可以根据不同类型的工作负载和组件的重要性,有效地管理微服务的部署和运维。这样的架构设计不仅提高了系统的整体效率和稳定性,同时也为满足不同客户的特定需求提供了灵活性和可扩展性。无论是对关键业务组件的强化,还是对各种工作负载类型的优化,这种分组策略都能确保微服务的高效运行,满足现代化银行基础设施的需求。

以下是这些分组的解释:

  • 领域SD:包含模块的业务领域微服务,在这个案例中是分行模块的微服务。
  • CMC SD:通用核心或功能基础微服务。
  • Plato SD:包含尚未单独部署的技术平台微服务。
  • Kafka:平台事件中心使用的,用于微服务与外部系统之间的通信。
  • Conductor:平台的工作流引擎,用于编排微服务和创建人类工作流。
  • 批处理服务器:执行业务领域所需的批处理过程。


这个解决方案将七个Docker镜像进行了分组。通过这种分组,每个组件都能在其专业领域内发挥最大的效能,同时保持整个系统的协调一致。这样的架构不仅使得每个微服务可以更加灵活地进行更新和扩展,也确保了整个平台的高效运行和稳定性。每个分组都针对其特定的功能和作用进行了优化,使得整个系统能够更好地响应业务需求,提高处理效率和响应速度。


使用OKE的部署架构

甲骨文容器引擎用于Kubernetes利用Kubernetes——这是一个开源系统,用于在主机群集中自动部署、扩展和管理容器化应用程序。Kubernetes将构成应用程序的容器分组为逻辑单元(称为pods),以便于管理和发现。


要在Kubernetes中运行容器,它们必须被封装在一个pod中。Pod是Kubernetes中最小的原子单位,是一个运行一组共享相同网络、存储、内存和IPC命名空间的容器的构造。一个pod中有一个主要容器,其后的容器支持主容器。一个例子是应用程序容器与支持容器,后者将应用程序日志发送到日志服务器。在此架构中,我们不会详细介绍多容器pod的用例,但在大多数情况下,每个pod只有一个容器。


部署我们的甲骨文银行解决方案时,我们将部署的七个容器镜像中的每一个都封装在自己的pod中。这可以通过为每个容器镜像定义一个Kubernetes pod清单文件来完成。


Pod可以直接部署到Kubernetes中,但使用Kubernetes部署部署pod更加稳健。Kubernetes部署允许您定义pod的期望状态或行为,例如给定pod的副本或复制品数量。Kubernetes部署还可以将现有pod升级到新的应用程序版本。Kubernetes负责维护pod的指定状态。


我们的甲骨文银行解决方案将有总共七个部署。部署中的每个pod都会被分配一个IP地址,但pod的IP地址是短暂的,随着pod的创建和销毁而变化。为了提供一种访问部署中pod的一致方法,为每个部署创建了一个Kubernetes服务。Kubernetes服务是定义一组pod的抽象。当Kubernetes服务与部署关联时,它将代表部署中的所有pod,并将流量负载平衡到每个pod。根据pod的访问需求,无论是仅由Kubernetes集群中的其他资源访问,还是由您的OCI VCN内的其他资源或通过互联网外部访问,都会为部署分配不同类型的Kubernetes服务。


为了提供弹性,我们的OKE节点池将覆盖我们区域内的所有三个可用性区域。如果某个可用性区域发生故障,部署在故障可用性区域节点上的所有pod将自动在另一个可用性区域的节点上重建。


对于存储微服务数据的甲骨文数据库,使用分离模式为它们各自配置,我们使用两个故障域中的实时应用集群(RAC)配置。


下图展示了这种架构。通过这种部署方式,可以确保每个微服务的高可用性和稳定性,同时提供灵活的扩展和管理能力。无论是在单个可用性区域的故障情况下,还是在应用程序版本升级时,这种架构都能够保证无缝的服务连续性和数据完整性。每个微服务都独立运行在自己的pod中,确保了整个系统的高效运行和优化资源利用。

对于存储微服务数据的甲骨文数据库,我们为每个微服务使用分离的模式,并在两个可用性域(图中未显示的两个故障域)中使用实时应用集群(RAC)配置。数据使用甲骨文数据保护在第二个可用性域中复制。该架构包含以下组件:


区域

甲骨文云基础设施区域是一个地理区域,包含一个或多个数据中心,称为可用性域。区域彼此独立,相隔很远(跨越国家甚至洲际)。


可用性域

可用性域是区域内独立、自成一体的数据中心。每个可用性域内的物理资源与其他可用性域的资源隔离,提供故障容忍。可用性域不共享基础设施,如电力或冷却系统,或内部可用性域网络。因此,一个可用性域的故障不太可能影响该区域内其他可用性域。

故障域

故障域是在一个可用性域内的硬件和基础设施的分组。每个可用性域有三个故障域,拥有独立的电源和硬件。当您在多个故障域中分布资源时,您的应用程序可以承受物理服务器故障、系统维护和故障域内的电力故障。

虚拟云网络(VCN)和子网

VCN是您在甲骨文云基础设施区域内设置的可定制、软件定义的网络。与传统数据中心网络一样,VCN让您完全控制网络环境。VCN可以拥有多个不重叠的CIDR块,这些块在创建VCN后可以更改。您可以将VCN分割成子网,这些子网可以涵盖一个区域或一个可用性域。每个子网由一系列不与VCN中其他子网重叠的地址组成。您可以在创建后更改子网的大小。子网可以是公共的或私有的。


负载均衡器

甲骨文云基础设施负载均衡服务提供从单一入口点到后端多个服务器的自动流量分配。

通过这些组件的结合,可以构建出一个高度可靠、可扩展且安全的云基础设施环境。不论是处理高流量的负载均衡需求,还是确保数据库在不同可用性域的数据一致性和高可用性,这种架构都能够满足现代化银行基础设施的复杂和多变的需求。通过灵活的网络配置和强大的故障容错能力,确保了整个系统的稳定运行和业务连续性,为银行业务的数字化转型提供了坚实的基础。


堡垒主机

堡垒主机是一个计算实例,充当从云外部进入拓扑结构的安全、受控的入口点。堡垒主机通常配置在非军事区(DMZ)。它使您能够通过将敏感资源置于不能直接从云外部访问的私有网络中来保护它们。该拓扑结构有一个单一、已知的入口点,您可以定期监控和审计。因此,您可以避免暴露拓扑结构中更敏感的组件,同时不影响对它们的访问。


数据库系统

对于小规模部署,VM.Standard2.2型号足够使用。该架构使用配备甲骨文数据库企业版 - 极致性能的数据库系统,使用甲骨文实时应用集群(RAC)。它还使用甲骨文自动存储管理(Oracle ASM)和至少256 GB的存储。


块存储卷

使用块存储卷,您可以创建、连接、连接和移动存储卷,并更改卷性能以满足您的存储、性能和应用程序要求。在将卷连接并连接到实例后,您可以像使用普通硬盘一样使用该卷。您还可以断开卷连接并将其连接到另一个实例,而不会丢失数据。

对象存储

对象存储提供快速访问大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全、可靠地存储数据,然后直接从互联网或云平台内检索数据。您可以无缝扩展存储容量,同时不会经历性能下降或服务可靠性降低。使用标准存储作为您需要快速、立即、频繁访问的“热”存储。使用归档存储作为您长时间保留并且很少或极少访问的“冷”存储。

网络地址转换(NAT)网关

NAT网关使VCN中的私有资源能够访问互联网上的主机,而不会将这些资源暴露给互联网上的传入连接。

服务网关

服务网关提供从VCN到其他服务(如甲骨文云基础设施对象存储)的访问。从VCN到甲骨文服务的流量通过甲骨文网络结构传输,永远不会穿越互联网。


通过这些组件的综合应用,架构在保障敏感资源安全的同时,也为云基础设施提供了高效、灵活的数据管理和访问方案。堡垒主机的设置为整个系统提供了额外的安全层,而NAT网关和服务网关则确保了内部资源与外部网络的安全交互。结合块存储和对象存储的高效配置,这个架构为现代化的云环境提供了一个强大、可靠且高度可定制的解决方案,满足了多样化的业务需求和复杂的技术挑战。


开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。


如您想咨询 Oracle 的相关业务,可联系搜索微信号:lhh1843812463woshiwhw123

或者可以进入以下群组进行咨询:

微信公众号

微信技术交流社群: