透過持續整合和持續部署支援藍綠服務部署模型,加快新功能的上市時間。
每個服務獨立調整服務容器或資料平台,以滿足該功能的需求。
在不影響整個應用程式的情況下取代或停用獨立服務,個別服務失敗會透過降低服務正常處理,而不是在整個應用程式當機
瞭解如何在 Oracle Cloud Infrastructure (OCI) 上建置微服務。
資料導向微服務的重要層面是部署資料管理平台,以部署各種資料類型、在容器中支援多個資料庫,並提供自治式管理功能。OCI 上的 Oracle Autonomous Database 可讓您輕鬆部署,以建置智慧型的資料導向微服務。
對於應用程式現代化,需要整合多種技術,才能建立正確的多雲端微服務基礎。Oracle LiveLabs 提供您存取 Oracle 的工具與技術,以執行各種實驗室與研討會。這些研討會展示如何搭配 Oracle 使用開放技術,以建立更簡單的架構來提供部署彈性。使用 OCI 中可用的雲端和混合元件,在 Oracle LiveLabs 中建置微服務,包括 Autonomous Database、Helidon、Micronaut、MicroTx、WebLogic Server、Java、Docker、Kubernetes 和 Istio Service Mesh。為了讓您開始踏上微服務之旅,有多個實驗室可協助您將單一企業 App 現代化,或簡化這些應用程式 (如果您已經開始此路徑)。
此 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 等雲端和混合元件,並位於出色的微服務平台堆疊中。有多個實驗室可協助您將單一企業應用程式現代化,讓您開始踏上微服務之旅,或簡化此路徑。
無伺服器 - 資料存放區不需要任何持續性狀態,會即時執行工作 — 觸發和忘記樣式。例如,lambda 函數和 API 閘道。
API 導向 - 微服務會透過 REST API (例如 API 閘道) 與彼此通訊。每個微服務都有 API 定義。
非同步微服務 - 透過佇列或串流軟體 (例如 Oracle Advanced Queuing 或 Apache Kafka) 透過非同步訊息傳遞,實現鬆散耦合。
工作流程動作 - 業務流程 (迴圈中有人類) 也代表長時間執行的交易,例如使用 BPMN 架構,例如 Camunda、Zeebe 或 temporal.io 流程。
自動化工作流程 - 以自動化方式 (迴圈中沒有人) 作為簡單工作流程執行的工作,例如使用 Apache Airflow 和 Argo (CNCF)。
資料導向 - 資料架構可驅動應用程式中資料的使用量,以進行作業和決策,通常搭配永久存放區 (例如 Oracle Converged Database 或具有特殊用途資料庫)。
雲端原生 - 完全針對雲端開發的應用程式,例如 CNCF 元件和 OCI 服務。
混合雲微服務 - 可跨客戶資料中心 (私有雲) 和公有雲運作的微服務,例如透過 Kubernetes/ 服務網格,跨私有雲和公有雲協調 (雲端爆發使用案例)。
多雲端微服務 - 可跨至少兩個公有雲和私有雲運作的微服務,例如透過 Kubernetes/ 服務網格協調多個雲端 (以提供風險降低措施,並防止鎖定一個公有雲)。
雖然微服務與應用程式現代化同義,而且是所有應用程式開發的未來,但有一些考量可以讓微服務架構更有效率。