2012-02-06 5 views
8

私は、ストリーム処理のためにEsper(とStorm)を見てきました。Esperは私が求めているもの、つまり、ロールオーバーの手段、中央値、複雑なクエリなどを正確に実行しているようです。どのようにエスペラでスケールアウトするのですか?

Esperで複数のインスタンスにスケールアウトする方法を教えてください。

私が理解する限り、Stormは分散処理を処理しますが、Esperではあなた自身で処理しています。

将来的にはこれを行う必要はありませんが、私たちが成長するにつれて、データ量も同様にスケールアウトする必要があります。おそらく私たちはAmazon EC2に導入されるでしょう。

私はEsperアプリケーションに送信する前に、複数のサーバーとシャードのデータを実行する必要がありますか?

これをよりうまく処理する方法はありますか?

-Sajal

答えて

9

あなたは嵐がタプル/イベント・フェデレーションを処理する、とエスパーは、それが与えられたボルトに受信イベントにCEPを処理することを意味し、ボルト内エスパーのインスタンスを実行することができます。

これは嵐のボルトでエスパーを埋め込むことについていくつかのコードと情報を持っています http://tomdzk.wordpress.com/2011/09/28/storm-esper/

しかし... あなたはデータのサブセットを扱う比較的ステートレスエスパーエンジンをサポートしているユースケースを持っている必要があります。

たとえば、都市ごとの平均気温を計算しています。都市フィールドに基づいてshuffleGroupingを使用してタプルを配布しない場合、各Esperボルトは都市ごとに異なるデータセットを持つことができます。

基本的に、このアーキテクチャにコミットする前に、データがストームトポロジでどのように配信されているかを必ず読んでください。

+0

これは興味深いアプローチです。しかし私たちの場合、Esperの単一のインスタンスがforserable futureのためにうまくいくように見えます。その後、私たちはstorm + esperを実行するか、手動で破棄することができます。あなたの温度の例を使って、10-15都市を追跡し、それぞれが均等なデータ量を得、各都市は完全に別々に処理され、後で比較されるだけです。 – sajal

+0

私はほとんどのesper関数が基本コンテキストであることを知っているので、別の言葉ではそれはstatuedです。どのように右のタプルを右のエスパーボルトに送りますか? –

0

質問から、EsperHAは適切ですか?あなたはそれを見ましたか?

EsperHAは、ゼロ停止時間ESP/CEPイベント 処理のための完全なソリューションです。これはEsperとローカルメモリ内キャッシュを組み合わせ、ディスクまたはデータベースへのオーバーフローとバックアップの機能を備えたクラスタ構成の を組み合わせています。

+0

EsperHAは、配布ではなく複製を処理するようです。私の質問は、具体的には複数のインスタンスに負荷を分散することです。私は可用性について尋ねません。 – sajal

+0

私はEsperHAを認識していますが、使用していません。それは有料の商品のように見え、私たちの店は無料のオプションだけを探していました。 – cmonkey

関連する問題