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
隨著時間經過,事件要經過這些步驟處理
事件發生
資料擷取
理解事件
訂立決策
採取行動
CEP 就是用來減少這些步驟過程的處理時間,快速反應減少處理的延遲,就能增加系統的價值。
沒有留言:
張貼留言