検索
ホームページデータベースRedisRedis のセントリー モードの原理を分析する方法

この記事では、Redis Sentinel モードの原理を深く理解し、Sentinel でできることについて説明し、Sentinel メソッドと Sentinel ワークフローを開始します。

1. Redis センチネルとは何ですか?

Redis Sentinel は、高可用性を実現するために Redis が提供する公式ソリューションです。 Redis Sentinel は Redis に高可用性を提供します。実際には、これは、Sentinel を使用すると、特定の種類の障害に耐性があり、人間の介入なしで自動的にフェイルオーバーを実装する Redis クラスターを作成できることを意味します。 [関連する推奨事項: Redis ビデオ チュートリアル]

2. Sentinel でできることは何ですか?

1. Redis クラスター ノード (マスター レプリカ) と Sentinel ノードの健全性ステータスを監視します

2. 自動フェイルオーバー: マスターに障害が発生した場合、Sentinel はフェイルオーバーを実装し、 customer 新しいマスターに接続します。

3. 通知: API を通じて、管理者と開発者に通知を送信できます。監視されている Redis インスタンスに障害が発生しました。

4. 構成センター: クライアントは Sentinel に接続されており、Sentinel は次のことを行うことができます。マスターはクライアントにノード情報を返します

3. Sentinel メソッドを開始します

#1. redis-sentinel /path/to/sentinel.conf

2. redis-server /path/to/sentinel.conf --sentinel

sentinel.conf の設定手順は次のとおりです

# 配置需要监控的master节点信息 2代表法定人数 作用是表示需要最少需要多少个sentinel节点同意
#master节点不可达才标记为客观下线
#举例 5个sentinel实例 quorum设置成2 那么有2个sentinel节点认为master不可达,
#则其中一个会启动故障转移#如果至少有三个哨兵可到达,故障转移将被授权并实际启动。
sentinel monitor mymaster 127.0.0.1 6379 2 
#只需要配置master sentinel会自动检测slave信息
sentinel down-after-milliseconds mymaster 60000 
#如果master在指定时间内没有响应ping命令/或报错,则认为主观下线了。
sentinel failover-timeout mymaster 180000
sentinel parallel-syncs mymaster 1 
#指定故障转移的时候,同时支持多少个replica并行的与master同步数据,越小故障转移越久
#以上配置可以通过SENTINEL SET command.来实时修改。
sentinel monitor resque 192.168.1.3 6380 4
sentinel down-after-milliseconds resque 10000
sentinel failover-timeout resque 180000
sentinel parallel-syncs resque 5

注:

Redis -sentinel は設定ファイルの起動を使用する必要があり、再起動は設定ファイルに従って復元する必要があり、ポート 26379 がデフォルトで開かれ、相互アクセスを容易にするために Sentinel 間でポート アクセスが開かれている必要があります。

4. Sentinel ワークフロー

1. まず、Redis のパブリッシュ/サブスクライブ メカニズムを通じて、センチネル間で動的な認識が実現されます。

Redis のセントリー モードの原理を分析する方法Redis のセントリー モードの原理を分析する方法

客観的オフライン:

主観的にオフラインであるノードがマスター ノードの場合、センチネル ノードはコマンドを渡します

Sentinel is-masterdown-by-addr は、マスター ノード上の他のセンチネル ノードの判断を求めます。クォーラムの数 (センチネル設定で設定されたクォーラム) を超えると、センチネル ノードは、マスター ノード上で他のセンチネル ノードの判断を求めます。マスター ノードに問題があるため、客観的にはオフラインです。ほとんどのセンチネル ノードはオフライン操作に同意します。これは客観的にはオフラインであると言われます。

目標オフラインはマスター ノードにのみ有効であり、フェイルオーバーがトリガーされることに注意してください。

3、マスターはオフラインであり、フェイルオーバーが必要です

これは 2 つに分かれています手順では、まず Sentinel マスター ノードを選択し、Sentinel マスター ノードを介して Redis フェールオーバーを実行する必要があります。

まず、センチネルがリーダーを選出します。 raft アルゴリズム (状態コンセンサス アルゴリズム) を使用します。

各 Sentinel ノードはリーダーになることができ、Redis クラスターのマスター ノードが主観的にオフラインであることを Sentinel ノードが確認すると、他の Sentinel ノードに自身をリーダーとして選出するよう要求します。要求された Sentinel ノードが他の Sentinel ノードの選挙要求に同意していない場合は、その要求に同意します (選挙投票数は 1)。そうでない場合は、同意しません。

Sentinel ノードによって取得された選挙投票数がリーダーの最小投票数 (クォーラムの最大値と Sentinel ノードの数 / 2 1) に達すると、Sentinel ノードがリーダーとして選出されます。リーダー。そうでない場合は、選挙が繰り返されます。

Raft の中心的なアイデア: 早い者勝ち、少数派は多数派に従う。

センチネルがマスター ノードを選択した後、センチネル マスター ノードは Redis クラスター マスター ノードを選択して、新しいクラスター関係を構築する必要があります。

新しい Redis マスター ノードを選択するための基準は次のとおりです:

1. センチネルから切断する時間。レプリカ スレーブ

2 とレプリカ プライオリティをフィルタリングして、設定されたホスト タイムアウト時間 (ミリ秒後のダウン) を超えてメイン監視サーバーから切断されていることが判明しました。レプリカ優先度が低いものを優先します。

3. 優先度が同じ場合、コピー オフセットは処理されています。値が大きいほど優先度が高く、ビジネスシナリオの機能と合致しています。

4. コピー オフセットが同じ場合は、実行中の ID を確認します。小さいものを好みます。

マスター ノードを選択したら、クラスター関係の維持を開始します。

1. センチネル ノード、新しいマスター ノードにスレーブ no one コマンドを送信して、独立したノードにします

2. センチネル ノード、slaveof ip ポートを他のノードに送信し、それに従います。マスターノード

5. 概要

上記の分析により、sentinel は定期的な監視方法により自動フェイルオーバーを実現できましたが、状況などのいくつかの問題がまだ残っています。この状況では、データ損失の可能性があり、単一マシンのパフォーマンスが制限されている場合、水平方向に拡張することができません。

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

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Redis:アプリケーションのパフォーマンスとスケーラビリティの向上Redis:アプリケーションのパフォーマンスとスケーラビリティの向上Apr 17, 2025 am 12:16 AM

Redisは、データをキャッシュし、分散ロックとデータの持続性を実装することにより、アプリケーションのパフォーマンスとスケーラビリティを向上させます。 1)キャッシュデータ:Redisを使用して頻繁にアクセスしたデータをキャッシュして、データアクセス速度を向上させます。 2)分散ロック:Redisを使用して分散ロックを実装して、分散環境での操作のセキュリティを確保します。 3)データの持続性:データの損失を防ぐために、RDBおよびAOFメカニズムを介してデータセキュリティを確保します。

Redis:データモデルと構造の調査Redis:データモデルと構造の調査Apr 16, 2025 am 12:09 AM

Redisのデータモデルと構造には、5つの主要なタイプが含まれます。1。文字列:テキストまたはバイナリデータの保存に使用され、原子操作をサポートします。 2。リスト:キューとスタックに適した注文された要素コレクション。 3.セット:順序付けられていない一意の要素セット、セット操作をサポートします。 4。注文セット(sortedset):ランキングに適したスコアを持つ一意の要素セット。 5。ハッシュテーブル(ハッシュ):オブジェクトの保存に適したキー価値ペアのコレクション。

Redis:データベースアプローチの分類Redis:データベースアプローチの分類Apr 15, 2025 am 12:06 AM

Redisのデータベースメソッドには、メモリ内データベースとキー価値ストレージが含まれます。 1)Redisはデータをメモリに保存し、速く読み取り、書き込みます。 2)キー価値のペアを使用してデータを保存し、キャッシュやNOSQLデータベースに適したリスト、コレクション、ハッシュテーブル、注文コレクションなどの複雑なデータ構造をサポートします。

なぜRedisを使用するのですか?利点と利点なぜRedisを使用するのですか?利点と利点Apr 14, 2025 am 12:07 AM

Redisは、高速パフォーマンス、リッチデータ構造、高可用性とスケーラビリティ、持続性能力、幅広いエコシステムサポートを提供するため、強力なデータベースソリューションです。 1)非常に速いパフォーマンス:Redisのデータはメモリに保存され、非常に速い読み取り速度と書き込み速度が高く、高い並行性と低レイテンシアプリケーションに適しています。 2)豊富なデータ構造:さまざまなシナリオに適したリスト、コレクションなど、複数のデータ型をサポートします。 3)高可用性とスケーラビリティ:マスタースレーブの複製とクラスターモードをサポートして、高可用性と水平スケーラビリティを実現します。 4)持続性とデータセキュリティ:データの整合性と信頼性を確保するために、データの持続性がRDBとAOFを通じて達成されます。 5)幅広い生態系とコミュニティのサポート:巨大なエコシステムとアクティブなコミュニティにより、

NOSQLの理解:Redisの重要な機能NOSQLの理解:Redisの重要な機能Apr 13, 2025 am 12:17 AM

Redisの主な機能には、速度、柔軟性、豊富なデータ構造のサポートが含まれます。 1)速度:Redisはメモリ内データベースであり、読み取り操作はほとんど瞬間的で、キャッシュとセッション管理に適しています。 2)柔軟性:複雑なデータ処理に適した文字列、リスト、コレクションなど、複数のデータ構造をサポートします。 3)データ構造のサポート:さまざまなビジネスニーズに適した文字列、リスト、コレクション、ハッシュテーブルなどを提供します。

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カウンターの利点には、高速速度、高い並行性、耐久性、シンプルさと使いやすさが含まれます。ユーザーアクセスカウント、リアルタイムメトリック追跡、ゲームのスコアとランキング、注文処理などのシナリオで使用できます。

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ヘンタイを無料で生成します。

ホットツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール