Leo Yeh's Blog

SAS Viya (87)

教學目標

初步了解 SAS Event Stream Processing 的基本概念。

重點概念

首先 SAS Event Stream Processing 引擎主要是一種設計和執行事件串流處理模型的環境,事件串流處理模型主要會接收事件,並且搭配複雜關係的節點來進行模式匹配和智能分析,因此 SAS Event Stream Processing 設計為非常高的輸出量和低延遲。此外 SAS Event Stream Processing 串流分析功能除了 SAS Event Stream Processing 引擎之外,更包括 SAS Event Stream Processing Studio、SAS Event Stream Processing Streamviewer、SAS Micro Analytic Service (MAS) 和 Event Stream Processing Agent。

接著 SAS Event Stream Processing 的安裝和 SAS Viya 安裝方式一樣,因為 SAS Event Stream Processing 主要會與 SAS Viya 平台服務和基礎設施進行整合,此外 Event Stream Processing 伺服器還有輕量級的版本,稱為 SAS Event Stream Processing for Edge Computing 其主要被設計用於在邊緣設備上執行,其中不包括 SAS Viya 平台服務,將能夠安裝在不同的 Linux 平台,並且能夠在 Docker 容器中執行。

再來 ESP 伺服器主要任何 SAS Event Stream Processing 產品的核心元件,其主要是 ESP 專案和模型不斷執行的伺服器,其主要透過以下指令啟動 ESP 伺服器。

1
$DFESP_HOME/bin/dfesp_xml_server -http 54321

所謂 ESP 伺服器執行專案的引擎,每個引擎可以包含零個或多個專案,其主要支援兩種網頁服務,分別為:

  1. SAS Event Stream Processing Studio:其主要能夠讓我們可以建立、編輯、上載、發布和測試事件串流處理模型,並且將模型顯示為資料串流圖,讓我們能夠查看和控制窗口之間的關聯和流動。
  2. SAS Event Stream Processing Streamviewer:其主要能夠讓我們顯示通過事件流處理模型串流的事件,我們可以在一個或多個 ESP 伺服器上訂閱各個窗口,我們可以將每個事件顯示為表格或圖表的儀表版。

此外 ESP 伺服器將能夠使用安全的 HTTPS 通訊,並且可以使用選項以支援不同的身份驗證的啟動機制 (SASLogon、OAuth、Kerberos),以及控管日誌的相關選項,更進一步我們還能夠透過 API (REST、C、Java、Python、WebSocket) 允許與第三方應用程式進行互動,其中包括 SAS Micro Analytic Service (MAS) 核心引擎。

再來 SAS Micro Analytic Service (MAS) 核心引擎主要是一種記憶體處理的高效能程序執行服務,其為 DS2 和 Python 程式提供託管,並且支援 一次編譯和多次執行的使用模式,同時具有多線程功能,可以進行叢集以實現高可用性,以及同時託管多個程序,彼此隔離的多個使用者或業務上下文。此外 SAS Micro Analytic Service 包含一個用 C 語言編寫的高效能核心引擎,當作為 SAS Event Stream Processing 的一部分進行部署時,將能夠允許在同一進程空間內執行業務邏輯和使用者撰寫的程序能夠對傳輸中的資料串流進行操作以獲得最佳效能。

最後連接器 (Connectors) 和適配器 (Adapters) 能夠讓我們將資料流入或流出事件串流處理引擎,其使用發佈和訂閱 API 直接與各種消息總線,通信結構,驅動程序和客戶端進行互動。至於連接器和適配器的差別主要在於連接器設定於專案中,而適配器則是獨立執行,通常是由連接器類別所建立,因此某些適配器是其相應連接器的可執行版本,像是 Kafka、RabbitMQ、MQTT、File and Socket、… 等連接器或適配器。此外適配器主要獨立於 SAS Event Stream Processing 執行,不需要先進行特別的設定,僅需要在使用當下直接設定參數啟動適配器即可直接通訊互動。

相關資源

⬅️ Go back