2013-04-25 8 views
5

私は新しいSolrCloud - ZooKeeperインフラストラクチャを開発中です。Apache Zookeeper:データセンター間のノードの分散

いくつかの背景情報:

  • 他のすべてのサービス(主にウェブサイトのインフラは)アクティブ - アクティブ構成で、2つのデータセンターに分散されています。
  • をネットワークレベルで使用すると、データセンター間でダークファイバを使用して拡張LAN上にサーバーがセットアップされます。レイテンシは最小です。
  • これらのアプリケーションのほとんどでは、SolrCloud - ZooKeeperインフラストラクチャが使用されます。

私はSolr Cloudを取得し、ZooKeeperアンサンブルを実行しています。このレベルでの実装は問題ありません。

しかし私はZooKeeperサーバーをどのように配布するのだろうかと思います。奇数のサーバーが必要ですが、データセンターは2つしかありません。 1つが失敗した場合、私は大多数を失う50-50のチャンスがあります。

アイデア?これまでのところ私は考えています(!$$$、発生する可能性はない)第3のデータセンターを要求

  • 外部のクラウド・プロバイダーのデータセンターと1あたりのホスト2(アマゾンや...?)。再び$$$

  • データセンター1で奇数を設定し、サイト2のオブザーバを使用します。サイト1に障害が発生した場合はどうなりますか? SolrCloudは1人のオブザーバーとしか使えませんか?

ありがとうございました。

ニック

+0

1つのSolrCloudクラスタを2つのデータセンターに分散することをお勧めしますか?ミラーリングされたクラスターですか? – lexk

+0

あなたはsolrcloudデプロイメントダイアグラムを共有できますか?私たちは3つのデータセンターにsolrcloudを分散していますが、レイテンシに苦しんでいます。 –

答えて

0

昔、しかし、それでも、私がしたことを共有することができます。

他のZooKeeperインスタンスをホストする3番目のサイトがあります。このサイトは私の会社の別のオフィスであり、 "フルDC"ではありません。したがって、各サイトには1つのZKがあります。

1つのクラスターを3つ以上のDCに分散させることができたのは、それらの間に暗いファイバーを得るためには、一緒に接近しているということでした。レイテンシは非常に低く、ZKのパフォーマンスには影響しません。

次にSOLRの場合、私は2つのメインDCで完全なレプリカを取得しました。 3番目のオフィスでは、クォーラム用のZKのみがホストされています。完全なレプリカを使用して、私は各DCのすべてのデータを持っています。私のSOLRが後で増加する必要がある場合、私は破棄するが、今のところ我々の指数は小さい。

これは4年前から実績がありましたが、1回失敗しました。そしてそれは第3のオフィスではなく、DCであった。

1

あなたの要件は、(リクエストが原点だったの)ローカルデータセンターからすべての検索要求にサービスを提供することであるならば、あなたはクロス直流ZKの展開のために行く必要がいけません。 DCのクラッシュを生き残るために必要なクロスdc zkの配備が必要です(ほとんど起こりそうにないので、$$$$を支払うのです)。その場合、複数のDCでzkクラスタを生成する必要はありません

関連する問題