web-dev-qa-db-ja.com

マイクロサービスにおけるZookeeperとEurekaの役割は何ですか?

アプリケーションに一連のマイクロサービスのオーケストレーションを実装します。 Apache Zookeeper およびNetflix Eureka に対して、私が見つけた2つの広く使用されているツール。

基本的な違いに基づいて、これら2つのサービスの比較を教えてください。

他の強力なツールはありますか?

19

アプリケーションに一連のマイクロサービスのオーケストレーションを実装します。

これは自分で解決するのが難しい問題です。おそらく、既存のオーケストレーションシステムを使用する方がよいでしょう(以下を参照)。

他の強力なツールはありますか?

最近のオーケストレーションの標準と思われるkubernetesを調べる必要があります。多くの追加の利点(拡張性の有効化、自己修復など)があり、今日の生産で広く使用されています。次のリンクを参照してください。

Zookeeper、eureka、kubernetesの比較について:

  • Zookeeper は分散キー値ストアです。サービス検出を実装するための基礎として使用できます(etcdと同様)。
  • Eureka は、主にNetflixesロードバランサーおよびフェールオーバーの一部として使用されるサービスロケーターです(クライアントコールをアプリケーションクラスターのメンバーに配信するための適切なサービスターゲットを見つけることができます)。
  • Kubernetes は、サービスの展開、検出、および自己修復を含むコンテナオーケストレーションソリューションです。機能の完全なリストについては、上記のリンクを確認してください。 kubernetesのサービス検出は、etcdにまたがって構築される仮想ネットワークのDNSに基づいています。
  • Consul (他の回答で言及)は、RESTインターフェイスといくつかの追加機能(ヘルスチェック、サービスセグメンテーション、..))を備えたサービス検出フレームワークです。同様に使用できる独自の内部分散キー値ストア。
13

別のツールは Consul です。

Eurekaはほとんどがサービス検出ツールであり、ほとんどはAWSインフラストラクチャ内で使用するように設計されています。

Zookeeperは、 curator-x-discovery framework と組み合わせてサービス検出に使用できる汎用分散キー/値ストアです

ここに簡単な サービス発見ソリューションの概要

Consul vs Eureka vs Zookeeper の比較もここにあります。

Consulはzookeeperと同様に-ディスカバリーだけでなくキー/バリューストアとしても使用できますが、Consulの利点はすぐに使えるクールなサービスディスカバリー機能です

  1. すぐに使えるDNS
  2. 便利なRESTful API
  3. すぐに使えるHealthCheck API

また、consulはより分散された性質を持っています。エージェントはすべてのサービスVMにインストールされるため、システムはzookeeperよりも高い可用性を備えています。領事システムには データセンター間の低結合 があることに注意してください。

Zookeeperは成熟していますが、汎用性が高すぎます。そのため、サービスディスカバリだけでなく、設定、分散ロック、通知などの保存にもzookeeperを使用できます。繰り返しますが、このすべての機能をCurator Framework/Curator Recipesで使用すると便利です。

Zookeeperは、クラスター内のノード間でマスター/スレーブ通信スキーマを使用しています。マスターはクラスターメンバーによって選出されます。クラスター内に複数のマスターが表示される場合、エッジのケース(ネットワークの問題など)が発生する可能性があることに注意してください。この場合、クラスターの再起動が役立ちます。

EurekaとZookeeperおよびConsulの違いは、Eurekaが狭い目的のシステムであるということです(サービス検出および負荷分散システム)。

3つのシステムすべてをSpringと統合できます。

11
Alex M981