検索
ホームページデータベースRedisRedis のセントリー モードについては 1 つの記事で説明しています

この記事では、Redis のセンチネル モードについて紹介します。お役に立てば幸いです。

Redis のセントリー モードについては 1 つの記事で説明しています

#Redis マスター/スレーブ モード。マスター ノードに障害が発生すると、スレーブ ノードをマスター ノードに昇格できます。同時に、クライアントに次のように通知する必要があります。マスター ノード アドレスを更新します。これは通常は不可能です。OK。したがって、Redis は、この問題を解決するために Redis Sentinel Sentinel メカニズムを提供します。 [関連する推奨事項: Redis ビデオ チュートリアル ]

マスター/スレーブ レプリケーションの問題

Redis のセントリー モードについては 1 つの記事で説明しています

1. マスターの利点スレーブ レプリケーション

  • マスター ノードに障害が発生した場合、スレーブ ノードはマスター ノードにアップグレードされます
  • マスター ノードの読み取り容量を拡張し、マスター ノードの負荷を共有します。マスター ノード

2. 既存の問題

  • スレーブ ノードからマスター ノードをアップグレードするプロセスには手動介入が必要であり、同時に、クライアント Redis サービス アドレスを変更する必要があります。
  • マスター ノードの書き込み機能、ストレージ容量は単一マシンの制限の影響を受けます。
  • パフォーマンス: Redis レプリケーションが中断されると、スレーブ ノードはpsyncを開始します。この時点で同期が失敗した場合は、完全同期が実行されます。メイン データベースが完全バックアップを実行している間、ミリ秒または秒レベルのラグが発生する可能性があります。
Sentinel 実装原則

1. いくつかの概念

主な機能

  • 監視: マスターとスレーブが正常に動作しているかどうかを常にチェックします。サーバーは正常に動作しています
  • 通知: ノードに障害が発生すると、他のノードに通知されます
  • 自動フェイルオーバー:メイン ノードが正常に動作しない場合フェイルオーバーは自動的に実行され、スレーブ ノードの 1 つがマスター ノードにアップグレードされます。
  • 構成プロバイダー: クライアントは単一ノードを構成するのではなく、Sentinel# を構成します。 ## ノード コレクション
主観的オフラインと客観的オフライン

一般的に、各

Sentinel

ノードは他の Sentinel を継続的に監視します。 ノードと Redis ノードは PING を送信し、返信することでオンラインかどうかを確認します。

    主観的オフライン:
  • すべてのマスター ノードとスレーブ ノードについて、Sentinel がターゲット ノードから down-after-milliseconds ミリ秒以内に有効な応答を受信しない場合、ノードは主観的に判断されます。オフライン。
  • オフラインの目的:
  • マスター ノードにのみ使用されます。マスター ノードに障害が発生した場合、Sentinel ノードは sentinel is-master-down-by を渡します- addr コマンドは、他の Sentinel ノードにこのノードのステータスを確認するよう要求します。 <quorum></quorum> を超えるノードがプライマリ ノードに到達できないと判断した場合、Sentinel ノードはプライマリ ノードが客観的にオフラインであると判断します。
2. 動作原理

  • Sentinel は、1 回/秒## の頻度で他の Sentinel ノードおよび Redis マスター/スレーブ ノードに送信します。 #PING コマンド。
  • インスタンスが
  • PING コマンドに対する最後の有効な応答から ダウンアフターミリ秒 を超えている場合、そのインスタンスは Sentinel としてマークされます 主観的なオフライン として。
  • マスターサーバー
  • が主観的にオフラインとしてマークされている場合、このマスターサーバーのすべての Sentinel ノードが 1 回/秒## で監視されています。このマスター サーバーは主観的オフライン状態に入りました。
  • ノードを超えるノードがマスター ノードに到達できないと判断した場合、
  • Sentinel ノードは、マスター ノードは 客観的にはオフラインです メイン サーバーが客観的にオフラインとしてマークされると、Sentinel
  • INFO コマンドをオフライン サーバーのすべてのサーバー (10 から開始) に送信します。回/秒 1 回/秒 に変更されます。 Sentinel
  • ノードはマスター ノードのステータスをネゴシエートします。マスター ノードが
  • SDOWN 状態にある場合、投票により新しい マスター ノード##が自動的に選択されます#。残りの スレーブ ノード データ レプリケーション 新しいプライマリ ノード を指すようにします。 メイン サーバー がオフラインであることに同意する十分な Sentinel
  • がない場合、
  • メイン サーバー 客観的なオフライン ステータスは削除されます。 プライマリ サーバーSentinelPING コマンドに対して 有効な応答を返すと、プライマリ サーバーの 主観的なオフライン ステータス は削除されます。 3. メッセージ損失
Redis はマスター/スレーブ レプリケーション モードを採用しており、マスター ノードがハングアップすると、スレーブ ノードによって同期されているデータが失われる可能性があります。規模が大きければ大きいほど、失うものも大きくなります。

Redis には、メイン ライブラリのリクエスト処理を制限するための 2 つの構成項目 ( min-slaves-to-write

min-slaves-max-lag

) が用意されています。

min-slaves-to-write: この構成項目は、メイン ライブラリがデータ同期を実行できるスレーブ ライブラリの最小数を設定します; min-slaves-max-lag:この設定 この項目は、マスター ライブラリとスレーブ ライブラリの間でデータがコピーされるときに、スレーブ ライブラリがマスター ライブラリに ACK メッセージを送信するための最大遅延 (秒単位) を設定します。

  • これら 2 つの構成項目を組み合わせた後の要件は、
  • メイン ライブラリに接続されているスレーブ ライブラリ内に少なくとも N 個のスレーブ ライブラリがあり、メイン ライブラリでデータをコピーするときに ACK メッセージの遅延が発生することです。ライブラリは T 秒を超えることはできません。それ以外の場合、メイン ライブラリはクライアント リクエストを受信しなくなります
したがって、Sentine はメッセージがまったく失われないことを保証することはできませんが、メッセージの損失をできるだけ少なくするよう努めることもできます。

概要

Sentinel

は高可用性の問題を解決しますが、マスター ノードの単一ノード拡張の問題は解決しません。

プログラミング関連の知識について詳しくは、

プログラミング入門をご覧ください。 !

以上がRedis のセントリー モードについては 1 つの記事で説明していますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は掘金社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Redis:主要な機能を特定しますRedis:主要な機能を特定しますApr 12, 2025 am 12:01 AM

Redisのコア関数は、高性能のメモリ内データストレージおよび処理システムです。 1)高速データアクセス:Redisはデータをメモリに保存し、マイクロ秒レベルの読み取り速度と書き込み速度を提供します。 2)豊富なデータ構造:文字列、リスト、コレクションなどをサポートし、さまざまなアプリケーションシナリオに適応します。 3)永続性:RDBとAOFを介してディスクにデータを持続します。 4)サブスクリプションを公開:メッセージキューまたはリアルタイム通信システムで使用できます。

Redis:一般的なデータ構造のガイドRedis:一般的なデータ構造のガイドApr 11, 2025 am 12:04 AM

Redisは、次のようなさまざまなデータ構造をサポートしています。1。文字列、単一価値データの保存に適しています。 2。キューやスタックに適したリスト。 3.非重複データの保存に使用されるセット。 4。ランキングリストと優先キューに適した注文セット。 5。オブジェクトまたは構造化されたデータの保存に適したハッシュテーブル。

Redisカウンターを実装する方法Redisカウンターを実装する方法Apr 10, 2025 pm 10:21 PM

Redisカウンターは、R​​edisキー価値ペアストレージを使用して、カウンターキーの作成、カウントの増加、カウントの減少、カウントのリセット、およびカウントの取得など、カウント操作を実装するメカニズムです。 Redisカウンターの利点には、高速速度、高い並行性、耐久性、シンプルさと使いやすさが含まれます。ユーザーアクセスカウント、リアルタイムメトリック追跡、ゲームのスコアとランキング、注文処理などのシナリオで使用できます。

Redisコマンドラインの使用方法Redisコマンドラインの使用方法Apr 10, 2025 pm 10:18 PM

Redisコマンドラインツール(Redis-Cli)を使用して、次の手順を使用してRedisを管理および操作します。サーバーに接続し、アドレスとポートを指定します。コマンド名とパラメーターを使用して、コマンドをサーバーに送信します。ヘルプコマンドを使用して、特定のコマンドのヘルプ情報を表示します。 QUITコマンドを使用して、コマンドラインツールを終了します。

Redisクラスターモードの構築方法Redisクラスターモードの構築方法Apr 10, 2025 pm 10:15 PM

Redisクラスターモードは、シャードを介してRedisインスタンスを複数のサーバーに展開し、スケーラビリティと可用性を向上させます。構造の手順は次のとおりです。異なるポートで奇妙なRedisインスタンスを作成します。 3つのセンチネルインスタンスを作成し、Redisインスタンスを監視し、フェールオーバーを監視します。 Sentinel構成ファイルを構成し、Redisインスタンス情報とフェールオーバー設定の監視を追加します。 Redisインスタンス構成ファイルを構成し、クラスターモードを有効にし、クラスター情報ファイルパスを指定します。各Redisインスタンスの情報を含むnodes.confファイルを作成します。クラスターを起動し、CREATEコマンドを実行してクラスターを作成し、レプリカの数を指定します。クラスターにログインしてクラスター情報コマンドを実行して、クラスターステータスを確認します。作る

Redisキューの読み方Redisキューの読み方Apr 10, 2025 pm 10:12 PM

Redisのキューを読むには、キュー名を取得し、LPOPコマンドを使用して要素を読み、空のキューを処理する必要があります。特定の手順は次のとおりです。キュー名を取得します:「キュー:キュー」などの「キュー:」のプレフィックスで名前を付けます。 LPOPコマンドを使用します。キューのヘッドから要素を排出し、LPOP Queue:My-Queueなどの値を返します。空のキューの処理:キューが空の場合、LPOPはnilを返し、要素を読む前にキューが存在するかどうかを確認できます。

Redisクラスターzsetの使用方法Redisクラスターzsetの使用方法Apr 10, 2025 pm 10:09 PM

RedisクラスターでのZsetの使用:Zsetは、要素をスコアに関連付ける順序付けられたコレクションです。シャード戦略:a。ハッシュシャーディング:ZSTキーに従ってハッシュ値を分配します。 b。範囲シャード:要素スコアに従って範囲に分割し、各範囲を異なるノードに割り当てます。操作の読み取りと書き込み:a。読み取り操作:ZSetキーが現在のノードのシャードに属している場合、ローカルで処理されます。それ以外の場合は、対応するシャードにルーティングされます。 b。書き込み操作:Zsetキーを保持しているシャードに常にルーティングされます。

Redisデータをクリアする方法Redisデータをクリアする方法Apr 10, 2025 pm 10:06 PM

Redisデータをクリアする方法:Flushallコマンドを使用して、すべての重要な値をクリアします。 FlushDBコマンドを使用して、現在選択されているデータベースのキー値をクリアします。 [選択]を使用してデータベースを切り替え、FlushDBを使用して複数のデータベースをクリアします。 DELコマンドを使用して、特定のキーを削除します。 Redis-CLIツールを使用してデータをクリアします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン