現代化的 App 開發-事件導向
事件導向的應用程式模式可讓您以近乎即時的方式,即時回應雲端資源的變化,以及應用程式產生的事件。
事件是系統中任何重大發生或變更,例如物件儲存中新建立的物件,或應用程式中的效能警示。這個應用程式樣式展現了建立可擴展、安全、可靠且高效能事件導向應用程式的設計原則和架構。
Oracle Cloud Infrastructure (OCI) 提供如 OCI Service Connector Hub 和 OCI Events 等服務,協助您建置事件導向的應用程式。OCI Service Connector Hub 可讓您建立服務連線器,以便在服務之間移動資料。服務連接器指定來源服務,其中包含要移動的資料、選擇性任務,以及任務完成時傳遞資料的目標服務。選擇性任務的範例包括處理來源資料的函數任務,或用於篩選來源日誌資料的日誌篩選任務。支援的服務連線器來源服務包括 OCI 監控、OCI 日誌記錄以及 OCI 串流處理。目標服務的範例包括:OCI Functions、OCI Notifications 以及 OCI Object Storage。您可以使用 OCI 事件發出可使用串流擷取服務連線器所需的資源變更事件。同樣地,您的 App 可以發出客製化事件並使用串流將它們遞送至服務連線器。
設計原則
設計事件導向應用程式的架構時,請使用下列現代化 App 開發原則:
- 如果可以,請使用低程式碼平台,如果不行,請使用成熟的程式設計語言和輕量型架構
使用開放且業界標準的 CloudEvents 來描述您的活動資料。CloudEvents 可讓您以一致且廣泛使用的格式來描述事件資料,並為包括 Java 在內的數個程式設計語言提供軟體開發套件 (SDK)。使用 Oracle Cloud Infrastructure Events 建立的事件會使用 CloudEvents 格式。
- 使用託管服務來消除應用程式開發和運作的複雜性
使用託管服務來通訊、處理及保存事件資料。
使用 OCI 服務連線器中心協調服務之間的資料移動。使用像 OCI Functions 或 Oracle Container Engine for Kubernetes (OKE) 之類的託管服務來處理事件。使用 OCI 通知將服務連線器連線至順流服務,例如電子郵件、簡訊、Slack 或 PagerDuty。
- 工具端對端監督與追蹤功能
OCI 服務連線器中心和 OCI 事件等事件路由器會在 OCI 監控中產生度量,讓您可以輕鬆監控應用程式事件並建立自訂度量和警示。針對端對端分散式追蹤,建立內含記錄規則 (OCI Logging Analytics) 的客製化儀表板和警示型監控 (OCI Notifications),讓管理員能夠發現並快速回應任何問題。此外,事件路由器具有獨特功能,能為事件的佈局提供單一玻璃窗檢視。
架構
此架構使用現代化的 App 開發原則來建立事件導向的應用程式。
mad-event-driven-architecture-oracle.zip
架構包含下列元件:
- 串流處理
Oracle Cloud Infrastructure Streaming 提供完全託管、可擴展且持久的儲存解決方案,可擷取連續的大量資料串流,讓您即時使用及處理這些資料。您可以使用「串流處理」來擷取大量資料 (例如應用系統日誌、作業遙測、Web 點擊串流資料),或用於在發布/訂閱訊息傳遞模型中持續且循序產生及處理資料的其他使用案例。
- 函數
Oracle Cloud Infrastructure Functions 是一個完全託管、多租用戶、可高度擴展、隨選、Functions-as-a-Service (FaaS) 平台。它由 Fn 專案開放原始碼引擎提供技術支援。函數可讓您部署程式碼,然後直接呼叫程式碼或觸發程式以回應事件。Oracle Functions 使用 Oracle Cloud Infrastructure Registry 中代管的 Docker 容器。
- 服務連線器
Oracle Cloud Infrastructure Service Connector Hub 是一個雲端訊息匯流排平台,可協調 OCI 中服務之間的資料移動。您可以使用服務連接器將資料從來源服務移至目標服務。服務連接器也可讓您選擇性地指定要在資料傳遞到目標服務之前,對其執行的工作 (例如函數)。
您可以使用 Oracle Cloud Infrastructure Service Connector Hub 快速建置安全資訊和事件管理 (SIEM) 系統的記錄日誌聚總架構。
- 您可以使用服務連接器將資料從來源服務移至目標服務。服務連接器也可讓您選擇性地指定要在資料傳遞到目標服務之前,對其執行的工作 (例如函數)。
- 通知
Oracle Cloud Infrastructure Notifications 服務會透過發布/訂閱模式對分散式元件廣播訊息,針對 Oracle Cloud Infrastructure 上代管的應用系統提供安全、高度可靠、低延遲和持久性訊息。
使用案例範例
日誌資料使用案例警示採用事件導向架構,使用 Oracle Cloud Infrastructure (OCI) 服務連線器中心、OCI 日誌記錄以及 OCI 監控服務為日誌資料導入警訊。
此使用案例會建立服務連接器與警示。服務連線器 (OCI Service Connector Hub) 會處理日誌資料,並將日誌資料從 OCI 日誌記錄移至 OCI 監督,而當收到的日誌資料觸發時,便會觸發警示。如需詳細資訊,請參閱「瀏覽更多」主題中案例的連結。
部署
- 前往 GitHub 。
- 複製或下載儲存區域到您的本機電腦。
- 遵循
README文件中的說明。

