透過持續整合和持續部署支援藍綠服務部署模型,加快新功能的上市時間。
每個服務獨立調整服務容器或資料平台,以滿足該功能的需求。
在不影響整個應用程式的情況下取代或停用獨立服務,個別服務失敗會透過降低服務正常處理,而不是在整個應用程式當機
瞭解如何在 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 Converged Database 建立資料導向微服務。此實驗室適用於開發人員和架構師,可設計新的微服務。它也有助於資料庫管理員瞭解 Oracle Database 在應用程式現代化專案中的角色。Autonomous Database、具有嵌入式容器的 Kubernetes 叢集、Oracle Advanced Queuing 和 Transactional Event Queues 以及 Helidon 可用來顯示使用關聯式、JSON、空間和圖表資料的 Java、Node.js 和 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 等多種微服務平台堆疊中提供的雲端和混合元件。有多個實驗室可協助您將單一企業 App 現代化,以開始進行微服務歷程,如果您已經停止此路徑,請加以簡化。
無伺服器 - 資料存放區不需要任何持續性狀態,工作會即時執行並忘記樣式。例如,lambda 函數和 API 閘道。
API 導向 - 微服務使用 REST API (例如 API 閘道) 相互通訊。每個微服務都有 API 定義。
非同步微服務 - 透過佇列或串流軟體 (例如使用 Oracle Advanced Queuing 或 Apache Kafka) 以非同步訊息傳遞來達成鬆散耦合。
工作流程動作 - 業務流程 (迴圈中有人類) 也代表長時間執行的交易,例如使用 BPMN 架構 (例如 Camunda、Zeebe 或 temporal.io 流程)。
自動化工作流程 - 以自動方式 (迴圈中沒有人) 以簡單工作流程方式執行的工作,例如使用 Apache Airflow and Argo (CNCF)。
資料導向 - 資料架構可驅動應用程式中資料用於操作和決策,通常與永久存放區 (例如 Oracle Converged Database 或特殊用途資料庫) 搭配使用。
雲端原生 - 完全針對雲端開發的應用程式,例如 CNCF 元件和 OCI 服務。
混合雲微服務 - 可在客戶的資料中心 (私有雲) 和公有雲中運作的微服務,例如透過 Kubernetes/ 服務網格協調私有雲和公有雲 (雲端爆發使用案例)。
多雲端微服務 - 在至少兩個公有雲和私有雲中運作的微服務,例如透過 Kubernetes/ 服務網格協調多個雲端 (提供風險降低措施,並防止鎖定一個公有雲)。
雖然微服務與應用程式現代化同義,而且是所有應用程式開發的未來,但有一些考量可以讓微服務架構更有效率。