2016-10-11 9 views
0

"ビジネス"ユーザが入力ストリームから取り込まれたデータに関するルールを作成し編集できるようにする必要があります。ルールはビジネスフレンドリーでなければならず、開発サイクルはありません。ここで私は考えています何の例です:気象ステーションと接続された車両のストリーミングデータとしてリアルタイムルール編集とKafkaStreams

"if weatherStation.id == 100 and weatherStation.temp < 33 and detectedPctWipersOn = 90% 
then return true 
else return false" 

が摂取されるが、私はこのルールを適用する必要がありますが、ルールの変更は、detectedPctWipersOnは= 75%、ルールを避ける場合再展開や再起動なしにリアルタイムで適用する必要があります。データ駆動型である必要があります。

Siddhi CEP(WSO2 CEP)は、「デプロイ済み」ルールのみをサポートしているようです。 特に、KafkaStreamsでうまくいけば、私が必要とするものを実現できる他のCEP製品はありますか?

私がロール・マイ・オーナーでなければならない場合、この問題で推奨される「ストリーム」デザイン・パターンはありますか?

+0

あなたの質問はカフカストリームに関連していますか?あなたが正しいタグを使用するかどうかわかりません。 –

+0

Siddhiタグを削除しました。はい、私はカフカストリームをうまく統合するビジネスフレンドリーなルールエディタを探しています。私はSiddhiがこの質問のための私の要件を満たしていないことを示すためにだけSiddhiを言及した。 – Jason

+0

私は実際にカフカストリームタグが意図されているかどうか疑問に思っていました。私はSiddhiを知らないので、私は答えについて確信が持てません。しかし、Kafka Streamsの観点からは、アプリケーションを新しいルールで更新できないようにすべき理由は何もありません。スケールアウトを開始した場合、同期された方法ですべてのインスタンスを更新することが困難な場合は、念頭におく必要があります。 –

答えて

0

この要件では、Siddhiエンジンを使用する代わりに、CEP製品を使用してみてください。これにはquery templating facilityが付属しています。このテンプレートでは、設定するユーザーにパラメータのみを公開した、あらかじめ定義されたテンプレートを使用できます。例:WeatherStationTemperature。パラメータが変更されると、内部的にCEPによってクエリが再デプロイされ、変更がすぐに反映されます。

これは、例のようにフィルタのようなステートレスなクエリではうまく動作しますが、ウィンドウやパターンなどを使用すると状態が失われます。そのため、データベースバックアップのテーブル/ウィンドウを適切に実装する必要がありますユースケース。