Kuiper 團隊宣布釋出 Kuiper 0.1。Kuiper 0.1 可以從這裡下載下傳。
EMQ X Kuiper 是 Golang 實作的輕量級物聯網邊緣分析、流式處理開源軟體,可以運作在各類資源受限的邊緣裝置上。Kuiper 設計的一個主要目标就是将在雲端運作的實時流式計算架構(比如 Apache Spark,Apache Storm 和 Apache Flink 等)遷移到邊緣端。Kuiper 參考了上述雲端流式處理項目的架構與實作,結合邊緣流式資料處理的特點,采用了編寫基于
源 (Source)
,
SQL (業務邏輯處理)
,
目标 (Sink)
的規則引擎來實作邊緣端的流式資料處理。
網址:https://www.emqx.io/products/kuiper
Github倉庫: https://github.com/emqx/kuiper
概覽
功能
- 性能優化
- 提供了針對 Kuiper 規則設定并發度的配置選項,在不同的場景下可以對其優化
- 在 source 裡的
設定:設定運作的協程數,預設值為1。如果設定協程數大于1,必須使用共享訂閱模式。concurrency
- 在 sink 裡的
設定:設定運作的線程數。該參數值大于1時,消息發出的順序可能無法保證。concurrency
- 在 SQL 計劃中的
設定:一條規則運作時會根據 SQL 語句分解成多個計劃運作。該參數設定每個計劃運作的線程數。該參數值大于1時,消息處理順序可能無法保證。concurrency
- 在 source 裡的
- 性能測試結果
- 樹莓派 3B+:12k 消息/秒; CPU 使用率 (sys+user): 70%; 記憶體: 20M
- AWS t2.micro ( 1核 * 1 GB, Ubuntu18.04):10k 消息/秒; CPU 使用率 (sys+user): 25%; 記憶體: 20M
- 提供了針對 Kuiper 規則設定并發度的配置選項,在不同的場景下可以對其優化
- 支援 規則名額采集,可以被用于消息處理狀态的跟蹤。名額包含有,
-
每個處理器的進、出與異常消息數in, out, exception
-
每個處理器的處理時延process_latency_ms
-
, 每個處理器中用掉的 buff 的長度buffer_length
-
, 每個處理器中最後調用時間last_invocation
-
- 在 OpenWrt Linux (Chaos Calmer 15.05) 系統 (1核,256M 記憶體硬體)中完成測試,工作正常
- 如果 MQTT 源或者目标被斷開,支援自動重連
問題修複
- 如果在啟動規則的時候發現錯誤,在指令行中列印出相關的錯誤資訊
- 修複了幾個 REST Sink 的問題
聯系
如果對Kuiper有任何問題,請随時通過[email protected]與我們聯系。