2016-11-02 15 views
0

Flinkでストリームイベント相関エンジンを構築しようとしていますが、ジョブの実行に関するいくつかの質問があります。私はデータの異なるソースを持っている必要があります私のアーキテクチャではベストプラクティス/アドバイス - ジョブの実行

は、たとえば言うことができます:

firewallStream= environment.addSource([FirewalLogsSource]); 
proxyStream = environment.addSource([ProxyLogsSource]); 

及びこれらのソースのそれぞれのために、私は一連のルールを適用する必要があります。

//Abnormal Request Method 
stream.[RuleLogic].addSink([output]) 
//Web Service on Non-Typical Port 
stream.[RuleLogic].addSink([output]) 
//Possible Brute Force 
stream.[RuleLogic].addSink([output]) 

これらのルールは、おそらく15〜20のルールの順になるように拡張されます: は、だから私はソースとして以下のルールでプロキシストリームデータを持って仕事をしていると言うことができます。何この場合、最適なアプローチである

:私は、各ソースと各ジョブのために2つのジョブ1を作成する必要があります

  1. は15-20のルールを持っているでしょうか?
  2. ルールを複数のジョブに分割する必要がありますか?
  3. 他のオプションはありますか?

ペドロ・チャベスをあなたとよろしくお願いします。

答えて

0

私は初心者です。 私は考慮すべき2つの主な懸念があると思います。

  1. ネットワークトラフィック。複数のデータリーダーが複数のネットワークトラフィックを発生させます。
  2. コンピューティングレイテンシ。すべてのロジックコンピューティングを1つのジョブにまとめると、レイテンシが増えることがあります
+0

質問に正確な答えを伝えられませんでした。特定の状況とシステムの主な関心事に依存します。 –

+0

ルールを複数のジョブに分割すると、ネットワークトラフィックが問題になることがあります。すべてのルールを1つのジョブにまとめると、処理のレイテンシが問題になる可能性があります。あいまいな答えをおかけして申し訳ありません。 –

+0

答えをありがとう。私は実装された多くの実装が見つからないので、一般的な経験則を見つけるのは難しいです。私はこの記事をhttps://techblog.king.com/rbea-scalable-real-time-analytics-king/で読んだ。これらのプロセスは、単一のジョブで(固定トポロジ上で)すべてのプロセスを実行します。もっと良い例が分かっているなら、私に知らせてください。ありがとうございました。 –

関連する問題