Redis クラスター ソリューションとは何ですか?
Jun 25, 2019 am 11:14 AMRedis データの量は日々増加しており、ますます多くの企業がそれを使用しています。キャッシュに使用されるだけでなく、この部分を保存する傾向もあります。必然的にクラスターやさまざまな企業の開発が促進されます。私も自分に適したクラスター ソリューションを収集しています。現在、業界では次のようなクラスター アーキテクチャが一般的に使用されています。そのほとんどは、シャーディング技術を使用して、クラスターの増加によって引き起こされる一連の問題を解決しています。単一インスタンスのメモリ。
この記事では、5 つのソリューションを簡単に紹介します。
公式クラスター ソリューション
##twemproxy プロキシ ソリューション
#Sentinel モード
codis
クライアント シャーディング
公式クラスタ ソリューション
redis バージョン 3.0 から redis-cluster クラスタがサポートされ、redis-cluster はセンターレス構造を採用し、各ノードがデータとクラスタ全体の状態を保存し、各ノードが他のノードと接続されます。 redis-cluster はサーバー側のシャーディング テクノロジです。 redis-cluster アーキテクチャ図インスタンスの PING コマンドに対する最後の有効な応答からの時間が、down-after-milliseconds オプションで指定された値を超えた場合、インスタンスは Sentinel によって主観的にオフラインとしてマークされます。
マスターが主観的オフラインとしてマークされている場合、マスターを監視しているすべてのセンチネルは、マスターが実際に主観的オフライン状態に入ったことを 1 秒に 1 回確認する必要があります。
十分な数のセンチネル (設定ファイルで指定された値以上) が、マスターが指定された時間範囲内で実際に主観的オフライン状態に入ったことを確認すると、マスターは客観的にマークされます。オフライン。
通常の状況では、各センチネルは、10 秒に 1 回、知っているすべてのマスターおよびスレーブに INFO コマンドを送信します。
マスターが Sentinel によって客観的にオフラインとしてマークされると、Sentinel がオフライン マスターのすべてのスレーブに INFO コマンドを送信する頻度が 10 秒に 1 回から 1 秒に 1 回に変更されます。
マスターがオフラインであることに同意する十分なセンチネルがいない場合、マスターの客観的なオフライン ステータスは削除されます。マスターが再度 Sentinel の PING コマンドに有効な値を返した場合、マスターの主観的なオフライン ステータスは削除されます。
codis
codis は、Wandoujia によってオープンソース化された分散 Redis ソリューションです。上位層アプリケーションの場合、codis プロキシへの接続とネイティブ Redis サーバーへの接続に明らかな違いはありません。上位層 アプリケーションはスタンドアロン Redis のように使用できます。codis の最下位層は、リクエストの転送、ノンストップのデータ移行などを処理します。その後のすべてのことは前のクライアントに対して透過的です。単純に考えることができます。背後にある接続は、無制限のメモリを備えた Redis サービスであること。
クライアント シャーディング
パーティショニングのロジックはクライアントに実装され、クライアントはどのノードをリクエストするかを選択します。このソリューションは一貫性のあるハッシュを参照することができ、このソリューションは通常、ユーザーがクライアントの動作を完全に制御できるシナリオに適しています。
要約: 最適なソリューションはなく、最も適切なソリューションがあるだけです。
Redis 関連の技術記事の詳細については、Redis チュートリアル 列にアクセスして学習してください。
以上がRedis クラスター ソリューションとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Windows 11 10.0.22000.100 のインストール時の 0x80242008 エラーの解決策

erlang と golang ではどちらのパフォーマンスが優れていますか?
