2011-02-10 9 views
4

私はmembaseホストのクラスタを持っています。また、このクラスタと通信するように構成された異なるボックスで動作する一連のモキシプロセスもあります。フェイルオーバー用Spymemcached、構成

クライアントがspymemcachedを使用していて、使用可能なすべてのモキシプロセスを知るようにMemcachedClientを設定しようとしています。このようにして、これらのプロセスの1つが終了すると、spymemcachedは別のMoxiを使用してデータをクラスタに送信し続けます。

キューの情報を失うことなくすべて実行するのが理想的です。

私は2つのモキシプロセスで遊んでいますが、私がしたいことをすることはできません。

私はhttp://groups.google.com/group/spymemcached/browse_thread/thread/d33ca15c0a928d37#http://groups.google.com/group/spymemcached/browse_thread/thread/f7cc37fc509b70a6/cbb967e824a0ab04?hl=en&lnk=gst&q=redistribute#cbb967e824a0ab04を見たことがありません。

これはspymemcachedで実行可能かどうか誰かに教えてもらえますか?もしそうなら、私はそれをどのように構成すべきですか?

私はConnectionFactoryBuilderのさまざまな設定で遊んでいます。

ConnectionFactoryBuilder builder = new ConnectionFactoryBuilder(); 
builder.setFailureMode(FailureMode.Redistribute); 
builder.setProtocol(Protocol.BINARY); 
builder.setLocatorType(Locator.CONSISTENT); 

builder.setMaxReconnectDelay(1); 
builder.setTimeoutExceptionThreshold(2); 

ConnectionFactory cf = builder.build(); 
+1

好きではないことは何ですか?なぜあなたはspymemcachedとmoxiの両方が必要だと感じていますか?(後者は、長寿命プロセスを持たない前者のように動作するように設計されたツールです) – Dustin

+0

私は灸を使用する必要がありますので、キーを膜クラスターに分散させることができます。 AFAIKには、これと他のmembase機能のサポートを追加しているspymemcachedベータ版がありますが、ベータ版を使用したくありません。私たちはmembaseに1つのvbucketを持っていて、シャキシングを灸のプロセスでやってみたいです。しかし、クライアント側でフェールオーバーメカニズムを使いたいので、キュー内のデータを失うことなく使用中のモクシが死んでしまうと、あるモジから別のモジにジャンプすることもできます。 –

答えて

0

spymemcached構成で複数のmoxiサーバーを指定することはできませんか? 私が知っている限り、moxiはmemcachedプロトコルをサポートしており、spymemcachedは複数のmemcachedサーバと通信することができます。これは、spymemcachedが一貫性のあるハッシュアルゴリズムに基づいてmoxiサーバーの1つを選択することを意味します。これは最終的にmemcachedサーバーがmoxiプロセスによって選択されるため重要ではありません。 Moxiプロセスが停止すると、spymemcachedは自動的に他のMoxiプロセスに切り替わります。

関連する問題