web-dev-qa-db-ja.com

Redis対Zookeeper

これら2つのサーバーが非常に異なるものを対象としていることを考えると、これら2つのサーバーを比較するのは馬鹿げているようです。しかし、あなたがそれについて考えるならば、彼らは多くの同様のことをすることができます:ストア構成データ、分散ロック、キューイングなど。

私はいくつかの生産関連の目的で使用している Redis のインスタンスを持っていますが、サーバー間で簡単な同期を実行したいと思います(ほとんどの場合、コードのプッシュアップを必要としない構成の変更とサーバー間の単純なロック)。 Zookeeper は、Redisができないことを教えてくれますか?

25
Jason Baker

私たちは仕事でRedisとZookeeperの両方を使用しているため、これは直接の経験からのものです

Redisは高速です。本当に、本当に速い。また、すぐに一貫性があるため、高速で移動するデータセットに適しています。欠点は、あるサーバーで実行している場合、障害が発生すると、別のサーバーが配置するまで書き込みアクセスが失われることです。自分で自動化しない限り、サーバーの交換は手動操作です。 (スレーブインスタンスを構成すると、データへの読み取りアクセスを取得できます)。

Zookeeperには、即時整合性も備わっています。速度は半分ではありませんが、障害が発生した場合に(可能な場合)自動的に回復するため、継続的な書き込みアクセスが必要な場合は、サーバーに障害が発生した場合でもZookeeperを使用する必要があります。

私のアドバイスは、調整にzookeeperを使用することです。アクティブなノードの追跡、グループ内でのリーダーの選出などです。迅速な書き込みが必要だが、時折の停止が災害ではないデータセットには、redisを使用してください。たとえば、Webページのカウンターをヒットします。

26
dan_waterworth