通过持续集成和持续部署为服务支持蓝绿部署模式,加快新功能的上市速度。
按服务独立扩展服务容器或数据平台,以满足该功能的需求。
在不影响整个应用的情况下替换或停用独立服务,个别服务故障将通过降级服务优雅地进行处理,而不会导致整个应用崩溃。
了解如何在 Oracle Cloud Infrastructure (OCI) 上构建微服务。
数据驱动微服务的一个重要方面是部署数据管理平台。这可以部署多种数据类型,在一个容器中支持多个数据库,并提供自主管理能力。借助 OCI 中的 Oracle Autonomous Database,您可以轻松构建数据驱动的智能微服务。
要实现应用现代化,需要集成多种技术来构建正确的多云微服务基础。Oracle LiveLabs 支持您访问各种 Oracle 工具和技术和一系列的实验室和研讨会。这些研讨会将为您展示如何与 Oracle 一起使用开放技术,以建立更简单、部署更灵活的架构。在 Oracle LiveLabs 中使用 OCI 中提供的云和混合组件(包括 Autonomous Database、Helidon、Micronaut、MicroTx、WebLogic Server、Java、Docker、Kubernetes 和 Istio Service Mesh)构建微服务。为了帮助您开始微服务之旅,有多个实验室可以帮助您对单体企业应用进行现代化改造,或者简化它们(如果您已经沿着这条道路开始)。
Oracle LiveLab 构建了一个名为 GrabDish 的移动外送应用,突出了数据体系结构的简单性以及现代化的开发堆栈。传统上在行业中用作 Lambda 和 Kappa 体系结构的专用数据库很复杂(使用单独的关系、文本、空间、图形和消息传递系统),而使用 Oracle 融合数据库构建数据驱动的微服务则很简单,两者有很大的区别。该实验室面向开发人员和架构师,可以满足他们设计新微服务的需求。它还可帮助 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) 和 try-confirm/cancel (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/服务网格在多个云中进行编排(以提供风险缓解和防止锁定在一种公有云)。
微服务与应用现代化具有相同意义,是所有应用开发的前进之路。以下注意事项可帮助微服务架构师更高效地完成迁移任务。
注:为免疑义,本网页所用以下术语专指以下含义:
此页面内容为机器翻译。