通过持续集成和持续部署为服务支持蓝绿部署模式,加快新功能的上市速度。
按服务独立扩展服务容器或数据平台,以满足该功能的需求。
在不影响整个应用的情况下替换或停用独立服务,个别服务故障将通过降级服务优雅地进行处理,而不会导致整个应用崩溃。
了解如何在 Oracle Cloud Infrastructure (OCI) 上构建微服务。
数据驱动微服务的一个重要方面是部署数据管理平台。这可以部署多种数据类型,在一个容器中支持多个数据库,并提供自主管理能力。借助 OCI 中的 Oracle Autonomous Database,您可以轻松构建数据驱动的智能微服务。
要实现应用现代化,就必须集成多种技术来构建正确的多云微服务基础。Oracle LiveLabs 支持您访问各种 Oracle 工具和技术和一系列的实验室和研讨会。这些研讨会将为您展示如何与 Oracle 一起使用开放技术,以建立更简单、部署更灵活的架构。在 Oracle LiveLabs 中构建微服务时,使用 OCI 中提供的云和混合组件,其中包括 OCI、Autonomous Database、Helidon、Micronaut、MicroTx、WebLogic Server、Java、Docker、Kubernetes 和 Istio Service Mesh。为了帮助您开始微服务之旅,有多个实验室可帮助您对单体企业应用进行现代化改造,或者简化这些应用。
Oracle LiveLab 构建了一个名为 GrabDish 的移动外卖应用,突出了数据体系结构的简单性,并且具备现代化开发堆栈。它将传统上用作 Lambda 和 Kappa 架构的专用数据库很复杂(即用于关系、文本、空间、图形和消息传递系统的单独系统),与使用 Oracle Converged Database 构建数据驱动的微服务相比,两者有很大的区别。该实验室面向开发人员和架构师,可以满足他们设计新微服务的需求,此外,该实验室还可以帮助 DBA 了解 Oracle Database 在应用现代化项目中发挥的作用。Autonomous Database、包含 docker 容器的 Kubernetes 集群、Oracle Advanced Queuing 和 Transactional Event Queues 以及 Helidon 可用于显示 Java、Node.js 以及使用关系、JSON、空间和图形数据的 Python 微服务,以及使用 Kiali、Jaeger、Prometheus 和 Grafana 设置跟踪与监视。以下举例说明了微服务模式,如事件寻源、CQRS 和 SAGA。
随着微服务架构的普及,开发人员经常遇到与数据一致性相关的问题,因为每个微服务通常都有自己的数据库或其他资源。MicroTx 提供了一个事务协调微服务,以保持参与事务的各种数据库的状态的一致性。MicroTx 支持多种分布式事务协议,例如 XA、长期运行操作 (LRA) 和尝试确认/取消 (TCC)。它支持跨多语言微服务(例如 Java、node.js、C/C++ 和 PL/SQL)的分布式事务。在此 LiveLab 中,开发人员可以了解如何在示例应用程序中使用的各种微服务之间实现数据一致性。
全面的开放式微服务平台
要实现应用现代化,就必须集成多种技术来构建正确的多云微服务基础。Oracle LiveLabs 支持您访问各种 Oracle 工具和技术和一系列的实验室和研讨会。这些研讨会将为您展示如何与 Oracle 一起使用开放技术,以建立更简单、部署更灵活的架构。在应有尽有的微服务平台堆栈中,使用 Oracle LiveLabs 自带的云和混合组件,包括 OCI、Autonomous Database、Helidon、Micronaut、Weblogic、Java、Docker、Kubernetes 和 Istio Service Mesh 等构建微服务。Oracle Livelabs 中有多个实验室,可帮助您对单体企业应用进行现代化改造,从而开始您的微服务之旅;如果您已经开始构建微服务,这些实验室也可以助您简化单体企业应用。
无服务器 - 数据存储不需要持久状态,可以用“发后即忘”方法执行任务。例如,lambda 函数和 API 网关。
API 驱动 —微服务使用 REST API(例如 API 网关)相互通信。每个微服务都有一个 API 定义。
异步小服务 - 通过队列或流化软件的异步消息传递实现松散耦合,例如:搭配 Oracle Advanced Queuing 或 Apache Kafka。
工作流操作 - 业务流(在循环中与人类一起使用)也表示长时间运行的事务处理,例如,使用 BPMN 框架(例如 Camunda、Zeebe 或 temporal.io 流)。
自动化工作流 - 作为简单工作流以自动化方式运行的任务(在循环中不包含人工操作)。例如,搭配 Apache Airflow 和 Argo (CNCF)。
数据驱动 - 数据架构可以推动应用中的数据消耗,以进行运营和决策;通常使用持久性存储,例如 Oracle 融合数据库或特殊用途数据库。
云原生 —完全针对云开发的应用,例如 CNCF 组件和 OCI 服务。
混合云微服务 —适用于客户数据中心(私有云)和公有云的微服务,例如,通过 Kubernetes/服务网格在私有云和公有云(云爆发用例)中进行编排。
多云微服务 —至少在两个公有云和自有云(私有云)之间工作的微服务,例如:通过 Kubernetes/服务网格在多个云中进行编排(可以缓解风险和防止锁定在一台公有云)。
虽然微服务是应用现代化的代名词,并且是所有应用开发的前进之道,但下列注意事项可以使微服务架构师更高效地完成迁移。
注:为免疑义,本网页所用以下术语专指以下含义: