2023/01/16

Complex Event Processing - CEP

David Luckham 與Brian Fraseca 於1990年提出複合事件架構,使用模式比對、事件的相互關係、事件間的聚合關係,目的從事件雲(event cloud)中找出有意義的相關事件,IT 系統可以更彈性使用事件驅動架構,並且能使企業更能快速的開發出更複雜的架構。這邊提到的事件雲,代表企業內部的多個事件資料庫,系統可從不同的事件資料庫,統整出相關的事件,建構快速反應的系統。

在簡單的事件處理系統中,通常是針對每一個單一事件作過濾 filtering 與 routing,決定要不要轉發事件,把事件發送給誰。例如溫度感測器,當感測溫度超過某個設定值,就要發送事件給訂閱者處理。

在複合事件處理系統中,會透過處理的機制,在某個時間範圍中,判讀並關聯相關的事件,統整後,做後續的事件處理。例如證券行情推薦系統,可同時針對多個市場股票,新聞事件,狀態,成交量等等許多的資訊事件流,動態統整出一個推薦結果。即時戰略遊戲中,系統對所有角色的位置與行為事件,統整出一個新的對應策略。根據天色,氣象局資料,現場雷聲閃電等等,預測氣候狀況,作出對應的處理對策。

Flink 是一個分散式資料流處理架構,Apache Flink: Use Cases 裡面提到要運用資料流處理的三類系統。

  • Event-Driven Application

    ex: Fraud detection, Anomaly detection, Rule-based altering, Business processing monitoring, Soical network web application

  • Data Analyics Application

    ex: Quality monitoring of telco networks, Ad-hoc analysis of live data in consumer technology

  • Data Pipeline Application

    ex: Real-time search index building in e-commerce

隨著時間經過,事件要經過這些步驟處理

  1. 事件發生

  2. 資料擷取

  3. 理解事件

  4. 訂立決策

  5. 採取行動

CEP 就是用來減少這些步驟過程的處理時間,快速反應減少處理的延遲,就能增加系統的價值。

References

Complex event processing - Wikipedia

複合事件處理CEP簡介 - IT閱讀

大量日誌資料複雜事件處理技術(Complex Event Processing 簡稱CEP) - 程式人生

沒有留言:

張貼留言