1. 程式人生 > >CEP之於Drools規則引擎

CEP之於Drools規則引擎

什麼是CEP

  • CEP(Complex Event Processing)是複雜事件處理系統;
  • 可以將一個或多個的事實對映到一個或多個規則上;
  • 接受大量的資料輸入,解釋業務規則,並根據業務規則做出業務決策;

複雜系統開發面臨的現狀

_ _ _這裡寫圖片描述

引入CEP的好處

_ _ _這裡寫圖片描述
這裡寫圖片描述
對於CEP使用人員:

  • 把業務規則的建立、修改和維護的權利交給業務人員;
  • 提高業務靈活性;
  • 加強業務處理的透明度,業務規則可以被管理;
  • 減少對IT人員的依賴程度;
  • 避免將來升級的風險;

對於CEP開發人員:

  • 簡化系統架構,優化應用;
  • 提高系統的可維護性和維護成本;
  • 方便系統的整合;
  • 減少編寫“硬程式碼”業務規則的成本和風險;

CEP特性

  • 從應用邏輯和資料中將業務邏輯分離;
  • 簡單! -規則有一個非常簡單的結構;
  • 讓業務使用者開發和維護規則以降低成本;
  • 宣告式程式設計;
  • 效能和可伸縮性;
  • 解決複雜的和複合的問題,其中有大量細粒度的規則和事實互動;

CEP微服務設計

_ _ _這裡寫圖片描述

1.規則包管理服務

功能:

  • 支援規則檔案的增刪查改;
  • 支援事件型別檔案的增刪查改;
  • 支援規則包資訊的增刪查改;
  • 生成規則包;
  • 支援規則包向規則庫的推送、刪除、修改、查詢;

2.CEP引擎服務

功能:

  • 動態掃描規則庫,載入規則包;
  • 接收普通事件;
  • 解析業務規則;
  • 生成告警事件;

CEP的邏輯結構圖

_ _ _這裡寫圖片描述

規則支援場景

這裡寫圖片描述

workbench工作流程

事件型別編輯
這裡寫圖片描述
規則檔案編輯
這裡寫圖片描述
規則檢驗
這裡寫圖片描述
檢驗結果
這裡寫圖片描述
版本控制
這裡寫圖片描述
構建規則包
這裡寫圖片描述