2017-03-07 12 views
0

私の目標は、CEPを使用してデータのストリームを処理してイベントコンシューマへのイベント通知を生成するパブリッシャとコンシューマの分散アプリケーションを作成することです。EsperとApache Stormの違いは?

EsperとApache Stormの違いは何ですか?

私はストームがエスパーだけで何をするのか達成することができますか?そして、いつ私はエスパーとストームを統合すべきですか?

私は混乱しています。私はEsperが同じ機能を提供したと考えました。

+0

ストームのためのEsperインテグレーションがあります。また、Apache Flinkの使用を検討することもできます。https://ci.apache.org/projects/flink/flink-docs-release-1.2/dev/libs/cep.html –

+0

Imはエスパー・アトムには深くありません。返信:P – sweep

答えて

1

ストームは、EsperがEvent Stream Processingとイベント相関エンジン(複雑なイベント処理)の間に一般的にあらゆる目的に使用できる分散リアルタイムコンピューティングシステムです。したがって、Esperはより具体的です。ここ は、それらのいくつかの使用例です:

  • ストームは、リアルタイムに使用することができツイッターからのデータを消費し、トピックごとに最も使用されるハッシュタグを検索するために計算します。
  • Esperは次のようなイベントを検出するために使用できます。通常の列車は100マイル/時の速度を持ち、速度は2番目に報告されます。列車の速度が10分で時速130マイルに増加すると、イベントが生成され、列車オペレーターに通知されます。

とき、それらの間の選択あなたが考えることができますいくつかのより多くの基準があります。嵐は、内蔵されて

  • エスパーは、オープンソースライセンス
  • (私のチームは、2016年に評価される)ではないようですしながら、分散処理のために設計(Storm)vs商用ライセンス(Esper)
+0

しかし、Esperでは、そのadpaterインターフェイスを使って通信できます。 Espers apiでソケットまたはhttpを使用して、あるサーバーから別のサーバーにイベントを送信できます。私はEsperだけを使って加入者に通知することもできます。これは、なぜ私がストームとカフカと一緒にエスパーを使うべきなのかと混同しているところです。少なくとも私には、純粋にエスパーでこれを達成することができるようです。私は間違っているかもしれない、それは私が尋ねる理由です。 – sweep

+0

はい、ストリーム処理にCEPを使用する予定であるため、Esperが適しています。私が言いたいことは、ストームは一般的な目的のために使われていますが、エスパーはより具体的であり、私たちはエスパーと同じように達成するためにカファ、ストームを使うことができますが、より多くの努力が必要です。さらに、ストームは達成可能ですが、エスパーは利用できない場合があります。だから、選択するプロジェクトの目的に依存する – NangSaigon

0

私の意見では、ストームは負荷分散、マシンダウン時の自動再起動、マシンを追加する簡単な方法、またはあなたがそれを自分で処理しなければならないことは、esperを使っている場合だけです。

1

ストームはコードを実行するための抽象化を提供し、ワーカー、管理、再起動などの配布アスペクトを管理する価値があります。どんなコードを挿入しても、コードを記述することができ、コードはカウントやその他の派生情報などの状態をどのように保持するのかを心配する必要があります。 Stormは、ストリームをあるストアに抽出または変換するためによく使用されます。

Esperは、SQL92に準拠した「EPL(Event Processing Language)」を提供することで、一連のイベント間の状況を検出するための抽象化を提供します。そのコードを書くことなく、物を検出する表現力豊かで拡張性のある手段です。 EPLは動的に注入および管理することができるため、実行時に再起動することなくルールを追加および削除することができます。コードでこれを行う場合は、常にJVM /ワーカー/トポロジを再起動する必要があります。

Esperは、カフカストリームと直接統合することで水平スケーラビリティを備えています。しかし、このコードは現在オープンソースではありません。

関連する問題