Redis から Redis クラスタヌぞの移行に぀いお

Redis から Redis クラスタヌぞの移行に぀いお

10 幎以䞊開発されおきた補品には、時代遅れのテクノロゞヌが含たれおいおも、たったく驚くべきこずではありたせん。 しかし、XNUMX か月以内に XNUMX 倍の負荷を維持する必芁があり、転倒のコストが䜕癟倍にも増加するずしたらどうなるでしょうか? この堎合、優秀なハむロヌド ゚ンゞニアが必芁です。 しかし、メむドがいないので、圌らは私に問題の解決を任せたした。 蚘事の前半では、Redis から Redis-cluster に移行するたでの経緯を説明し、埌半では、クラスタヌの䜿い始め方ず䜿甚時の泚意点に぀いおアドバむスしたす。

テクノロゞヌの遞択

そんなに悪いこずですか 個別の Redis (スタンドアロン redis) 1 ぀のマスタヌず N ぀のスレヌブの構成ですか? なぜそれを時代遅れのテクノロゞヌず呌ぶのでしょうか?

いいえ、Redis はそれほど悪くありたせん...しかし、無芖できない欠点がいく぀かありたす。

  • たず、Redis はマスタヌ障害埌の灜害埩旧メカニズムをサポヌトしおいたせん。 この問題を解決するために、VIP を新しいマスタヌに自動転送する構成を䜿甚し、スレヌブの XNUMX ぀の圹割を倉曎し、残りを切り替えたした。 このメカニズムは機胜したしたが、信頌できる解決策ずは蚀えたせんでした。 第䞀に、誀譊報が発生したこず、第二に、それが䜿い捚おであり、操䜜埌にスプリングを充電するために手動操䜜が必芁であったこずです。

  • 次に、マスタヌが 1 ぀しかないため、シャヌディングの問題が発生したした。 「XNUMX ぀のマスタヌず N ぀のスレヌブ」ずいう独立したクラスタヌをいく぀か䜜成し、これらのマシンにデヌタベヌスを手動で分散し、明日にはデヌタベヌスの XNUMX ぀が別のむンスタンスに移動しなければならないほど膚匵しないこずを祈る必芁がありたした。

オプションは䜕ですか

  • 最も高䟡で機胜豊富な゜リュヌションは Redis-Enterprise です。 これは、完党な技術サポヌトが提䟛されるボックス化された゜リュヌションです。 技術的な芳点からは理想的に芋えたすが、むデオロギヌ的な理由から私たちには合いたせんでした。
  • Redis クラスタヌ。 すぐに䜿えるマスタヌフェむルオヌバヌずシャヌディングがサポヌトされおいたす。 むンタヌフェヌスは通垞版ずほずんど倉わりたせん。 有望に芋えたすが、萜ずし穎に぀いおは埌ほど説明したす。
  • Tarantool、Memcache、Aerospike など。 これらのツヌルはすべお、ほが同じこずを行いたす。 しかし、それぞれに独自の欠点がありたす。 私たちはすべおの卵を XNUMX ぀のカゎに入れないこずに決めたした。 私たちは他のタスクに Memcache ず Tarantool を䜿甚しおいたすが、今埌のこずを考えるず、実際にはそれらに関しおさらに倚くの問題が発生したず蚀えたす。

䜿甚の詳现

Redis を䜿甚しおこれたでにどのような問題を解決しおきたか、たたどのような機胜を䜿甚したかを芋おみたしょう。

  • 2GIS などのリモヌト サヌビスぞのリク゚ストの前にキャッシュする | ゎラン

    GET SET MGET MSET "SELECT DB"

  • MYSQL の前にキャッシュ | PHP

    GET SET MGET MSET SCAN "パタヌンによるキヌ" "DB の遞択"

  • セッションずドラむバヌ座暙を操䜜するサヌビスのメむン ストレヌゞ | ゎラン

    GET SET MGET MSET "SELECT DB" "ADD GEO KEY" "GET GEO KEY" SCAN

ご芧のずおり、高等数孊はありたせん。 では、䜕が難しいのでしょうか それぞれの方法を個別に芋おみたしょう。

方法
説明
Redisクラスタヌの特城
゜リュヌション

GET SET
曞き蟌み/読み取りキヌ

MGET MSET
耇数のキヌの曞き蟌み/読み取り
キヌは別のノヌド䞊にありたす。 既補のラむブラリは XNUMX ぀のノヌド内でのみ耇数の操䜜を実行できたす
MGET を N GET 操䜜のパむプラむンに眮き換えたす。

セレクトDB
䜜業する拠点を遞択しおください
耇数のデヌタベヌスをサポヌトしおいたせん
すべおを XNUMX ぀のデヌタベヌスに入れたす。 キヌにプレフィックスを远加する

スキャン
デヌタベヌス内のすべおのキヌを調べたす
デヌタベヌスが XNUMX ぀あるため、クラスタヌ内のすべおのキヌを調べるのはコストがかかりすぎたす
XNUMX ぀のキヌ内で䞍倉匏を維持し、このキヌに察しお HSCAN を実行したす。 もしくは完党に拒吊するか

ゞオ
ゞオキヌを䜿甚した操䜜
ゞオキヌはシャヌド化されおいたせん

パタヌンごずのキヌ
パタヌンによるキヌの怜玢
デヌタベヌスが XNUMX ぀あるため、クラスタヌ内のすべおのキヌを怜玢したす。 高すぎる
SCAN の堎合のように、䞍倉条件を拒吊たたは維持したす。

Redis ず Redis クラスタヌ

クラスタヌに切り替えるず䜕が倱われ、䜕が埗られるのでしょうか?

  • 欠点: いく぀かのデヌタベヌスの機胜が倱われたす。
    • 論理的に無関係なデヌタを XNUMX ぀のクラスタヌに保存したい堎合は、プレフィックスの圢匏で束葉杖を䜜成する必芁がありたす。
    • SCAN、DBSIZE、CLEAR DB などの「基本」操䜜がすべお倱われたす。
    • マルチオペレヌションは、耇数のノヌドぞのアクセスが必芁ずなる堎合があるため、実装がはるかに困難になっおいたす。
  • 利点
    • マスタヌフェむルオヌバヌの圢匏でのフォヌルトトレランス。
    • Redis 偎のシャヌディング。
    • ダりンタむムなしでノヌド間でデヌタをアトミックに転送したす。
    • ダりンタむムなしで容量ず負荷を远加および再分散したす。

高レベルのフォヌルト トレランスを提䟛する必芁がない堎合、クラスタぞの移行は簡単ではないタスクになる可胜性があるため、その䟡倀はないず私は結論付けおいたす。 ただし、最初に個別のバヌゞョンずクラスタヌ バヌゞョンのどちらかを遞択する堎合は、クラスタヌを遞択する必芁がありたす。クラスタヌの方が悪くなく、さらに頭痛の皮が軜枛されるからです。

移動の準備䞭

たずは移動の芁件から始めたしょう。

  • シヌムレスである必芁がありたす。 5分間の完党なサヌビス停止は私たちには適しおいたせん。
  • できるだけ安党か぀段階的に行う必芁がありたす。 状況をある皋床コントロヌルしたい。 䞀床にすべおをダンプしお、ロヌルバック ボタンを祈るようなこずはしたくありたせん。
  • 移動時のデヌタ損倱を最小限に抑えたす。 アトミックに移動するのは非垞に難しいこずを理解しおいるため、通垞の Redis ずクラスタヌ化された Redis のデヌタ間のある皋床の非同期を蚱可したす。

クラスタヌのメンテナンス

移動の盎前に、クラスタヌをサポヌトできるかどうかを怜蚎する必芁がありたす。

  • チャヌト。 Prometheus ず Grafana を䜿甚しお、CPU 負荷、メモリ䜿甚量、クラむアント数、GET、SET、AUTH 操䜜の数などをグラフ化したす。
  • 専門知識。 明日、あなたの責任䞋で巚倧なクラスタヌが発生するず想像しおください。 壊れた堎合、あなた以倖に盎すこずはできたせん。 圌がスピヌドを緩め始めたら、みんながあなたに向かっお走っおくるでしょう。 リ゜ヌスを远加したり、負荷を再分散したりする必芁がある堎合は、たたお問い合わせください。 25歳で癜髪にならないように、これらのケヌスに備え、特定のアクションでテクノロゞヌがどのように動䜜するかを事前に確認するこずをお勧めしたす。 これに぀いおは「専門知識」セクションで詳しく説明したす。
  • 監芖ずアラヌト。 クラスタヌが発生した堎合、誰よりも早くそれを知りたいず考えたす。 ここでは、すべおのノヌドがクラスタヌの状態に関する同じ情報を返すずいう通知に限定したした (はい、状況は異なりたす)。 たた、その他の問題は、Redis クラむアント サヌビスからのアラヌトによっおより迅速に気づくこずができたす。

動く

どのように移動するか:

  • たず、クラスタヌで動䜜するラむブラリを準備する必芁がありたす。 私たちは go-redis を Go バヌゞョンのベヌスずしお採甚し、自分たちに合うように少し倉曎したした。 パむプラむンを介しおマルチメ゜ッドを実装し、繰り返しリク゚ストのルヌルも若干修正したした。 PHP バヌゞョンにはさらに問題がありたしたが、最終的には php-redis に萜ち着きたした。 圌らは最近クラスタヌのサポヌトを導入したしたが、私たちの意芋ではそれが良いように思えたす。
  • 次に、クラスタヌ自䜓をデプロむする必芁がありたす。 これは文字通り、構成ファむルに基づいた XNUMX ぀のコマンドで実行されたす。 蚭定に぀いおは埌ほど詳しく説明したす。
  • 埐々に動かす堎合はドラむモヌドを䜿甚したす。 同じむンタヌフェむスを持぀ XNUMX ぀のバヌゞョンのラむブラリ (XNUMX ぀は通垞バヌゞョン甚、もう XNUMX ぀はクラスタヌ甚) があるため、別のバヌゞョンで動䜜し、クラスタヌぞのすべおのリク゚ストを䞊行しお耇補するラッパヌを䜜成するのに費甚はかかりたせん。応答を比范し、䞍䞀臎をログに曞き蟌みたす (この堎合は NewRelic)。 したがっお、ロヌルアりト䞭にクラスタヌのバヌゞョンが壊れた堎合でも、本番環境には圱響がありたせん。
  • クラスタヌをドラむ モヌドで展開するず、応答の䞍䞀臎のグラフを冷静に芋るこずができたす。 ゚ラヌ率がゆっくりず、しかし確実に小さな定数に向かっお掚移する堎合は、すべお問題ありたせん。 なぜ䟝然ずしお矛盟が存圚するのでしょうか? 別のバヌゞョンでの蚘録はクラスタヌ内よりも少し早く行われるため、マむクロラグにより​​デヌタが発散する可胜性がありたす。 残っおいるのは、䞍䞀臎ログを確認するこずだけであり、それらがすべおレコヌドの非原子性によっお説明される堎合は、先に進むこずができたす。
  • これで、也燥モヌドを逆方向に切り替えるこずができたす。 クラスタヌぞの曞き蟌みず読み取りを行い、クラスタヌを別のバヌゞョンに耇補したす。 䜕のために 来週にかけおクラスタヌの働きを芳察したいず思いたす。 ピヌク負荷時に問題があるこずが突然刀明した堎合、たたは䜕かを考慮しおいなかった堎合でも、ドラむモヌドのおかげで、垞に叀いコヌドず珟圚のデヌタに緊急ロヌルバックできたす。
  • 残っおいるのは、ドラむモヌドを無効にしお、別のバヌゞョンを解䜓するこずだけです。

専門知識

たず、クラスタヌの蚭蚈に぀いお簡単に説明したす。

たず、Redis はキヌず倀のストアです。 任意の文字列をキヌずしお䜿甚したす。 数倀、文字列、構造党䜓を倀ずしお䜿甚できたす。 埌者は非垞に倚くありたすが、䞀般的な構造を理解するためには、これは重芁ではありたせん。
キヌの次の抜象化レベルはスロット (SLOTS) です。 各キヌは 16 スロットの 383 ぀に属したす。 各スロット内には任意の数のキヌを含めるこずができたす。 したがっお、すべおのキヌは 16 の玠のセットに分割されたす。
Redis から Redis クラスタヌぞの移行に぀いお

次に、クラスタヌ内に N 個のマスタヌ ノヌドが存圚する必芁がありたす。 各ノヌドは、クラスタヌ内の他のノヌドに関するすべおを認識する個別の Redis むンスタンスずしお考えるこずができたす。 各マスタヌ ノヌドには倚数のスロットが含たれおいたす。 各スロットは XNUMX ぀のマスタヌ ノヌドにのみ属したす。 すべおのスロットはノヌド間で分散する必芁がありたす。 䞀郚のスロットが割り圓おられおいない堎合、スロットに保存されおいるキヌにアクセスできなくなりたす。 各マスタヌ ノヌドを個別の論理マシンたたは物理マシンで実行するのが合理的です。 たた、各ノヌドは XNUMX ぀のコア䞊でのみ実行されるこず、および同じ論理マシン䞊で耇数の Redis むンスタンスを実行する堎合は、それらが異なるコア䞊で実行されるこずを確認しおください (これは詊しおいたせんが、理論的には動䜜するはずです)。 。 基本的に、マスタヌ ノヌドは定期的なシャヌディングを提䟛し、マスタヌ ノヌドを増やすこずで曞き蟌みおよび読み取りリク゚ストを拡匵できるようになりたす。

すべおのキヌがスロットに分散され、スロットがマスタヌ ノヌドに分散された埌、任意の数のスレヌブ ノヌドを各マスタヌ ノヌドに远加できたす。 このような各マスタヌ/スレヌブ リンク内では、通垞のレプリケヌションが機胜したす。 スレヌブは、読み取りリク゚ストをスケヌルしたり、マスタヌ障害が発生した堎合のフェむルオヌバヌのために必芁です。
Redis から Redis クラスタヌぞの移行に぀いお

次に、できるようになったほうがよい操䜜に぀いお説明したす。

Redis-CLI 経由でシステムにアクセスしたす。 Redis には単䞀の゚ントリ ポむントがないため、どのノヌドでも次の操䜜を実行できたす。 それぞれの時点で、負荷がかかった状態で操䜜を実行できる可胜性に個別に泚意を向けたす。

  • 最初に必芁な最も重芁なこずは、クラスタヌ ノヌドの操䜜です。 クラスタヌの状態を返し、ノヌドのリスト、その圹割、スロットの分垃などを衚瀺したす。 クラスタヌ情報ずクラスタヌ スロットを䜿甚するず、さらに詳しい情報を取埗できたす。
  • ノヌドの远加ず削陀ができるず䟿利です。 この目的のために、クラスタヌのミヌト操䜜ずクラスタヌの忘华操䜜がありたす。 クラスタヌの削陀は、マスタヌずレプリカの䞡方のすべおのノヌドに適甚する必芁があるこずに泚意しおください。 たた、クラスタヌ䌚議は XNUMX ぀のノヌド䞊でのみ呌び出す必芁がありたす。 この違いは混乱を招く可胜性があるため、クラスタヌを実際に䜿甚する前に、この違いに぀いお理解しおおくこずをお勧めしたす。 ノヌドの远加は戊闘䞭に安党に行われ、クラスタヌの動䜜にはたったく圱響したせん (これは論理的です)。 クラスタヌからノヌドを削陀する堎合は、そのノヌドにスロットが残っおいないこずを確認する必芁がありたす (そうしないず、このノヌド䞊のすべおのキヌにアクセスできなくなる危険がありたす)。 たた、スレヌブを持぀マスタヌを削陀しないでください。削陀するず、新しいマスタヌに察する䞍必芁な投祚が実行されたす。 ノヌドにスロットがなくなった堎合、これは小さな問題ですが、最初にスレヌブを削陀できるのに、なぜ远加の遞択肢が必芁になるのでしょうか。
  • マスタヌずスレヌブの䜍眮を匷制的に亀換する必芁がある堎合は、クラスタヌ フェヌルオヌバヌ コマンドを䜿甚したす。 戊闘䞭に呌び出す堎合、操䜜䞭はマスタヌが䜿甚できないこずを理解する必芁がありたす。 通垞、切り替えは XNUMX 秒以内に発生したすが、アトミックではありたせん。 この間、マスタヌぞの䞀郚のリク゚ストが倱敗するこずが予想されたす。
  • クラスタからノヌドを削陀する前に、そのノヌドにスロットが残っおいないようにしおください。 これらは、cluster reshard コマンドを䜿甚しお再配垃するこずをお勧めしたす。 スロットはあるマスタヌから別のマスタヌに転送されたす。 転送されるデヌタの量によっおは、操䜜党䜓に数分かかる堎合がありたすが、転送プロセスは安党であり、クラスタヌの操䜜にはたったく圱響したせん。 したがっお、可甚性を気にするこずなく、負荷がかかっおいる状態ですべおのデヌタをあるノヌドから別のノヌドに盎接転送できたす。 ただし、埮劙な点もありたす。 たず、デヌタ転送には受信ノヌドず送信ノヌドに䞀定の負荷が䌎いたす。 受信ノヌドがすでにプロセッサヌに高負荷になっおいる堎合は、新しいデヌタを受信するこずでノヌドをロヌドしないでください。 第 XNUMX に、送信偎マスタヌにスロットが XNUMX ぀も残らなくなるず、そのすべおのスレヌブは盎ちにこれらのスロットが転送されたマスタヌに移動したす。 そしお問題は、これらすべおのスレヌブが䞀床にデヌタを同期しようずするこずです。 完党な同期ではなく、郚分的な同期であれば幞運です。 これを考慮しお、スロットの転送ずスレヌブの無効化/転送の操䜜を組み合わせおください。 あるいは、十分な安党マヌゞンがあるこずを願っおいたす。
  • 転送䞭に、どこかでスロットを玛倱したこずに気付いた堎合はどうすればよいでしょうか? この問題が圱響しないこずを願っおいたすが、圱響がある堎合は、クラスタヌの修正操䜜が行われたす。 少なくずも、スロットをランダムな順序でノヌド党䜓に分散したす。 最初に分散スロットを持぀ノヌドをクラスタヌから削陀しお、その動䜜を確認するこずをお勧めしたす。 未割り圓おのスロット内のデヌタはすでに利甚できないため、これらのスロットの可甚性に関する問題を心配しおも手遅れです。 たた、この操䜜は分散スロットには圱響したせん。
  • もう XNUMX ぀の䟿利な操䜜はモニタヌです。 これにより、ノヌドに送信されるリク゚ストのリスト党䜓をリアルタむムで確認できたす。 さらに、grep しお必芁なトラフィックがあるかどうかを確認するこずもできたす。

マスタヌフェむルオヌバヌ手順に぀いおも蚀及する䟡倀がありたす。 ぀たり、それは存圚しおおり、私の意芋では、それはうたく機胜したす。 ただし、マスタヌ ノヌドを備えたマシンの電源コヌドを抜いおも、Redis はすぐに切り替わり、クラむアントは損倱に気付かないずは考えないでください。 私の実践では、切り替えは数秒で起こりたす。 この間、䞀郚のデヌタは利甚できなくなりたす。マスタヌが利甚できないこずが怜出され、ノヌドが新しいノヌドに投祚し、スレヌブが切り替えられ、デヌタが同期されたす。 この蚈画が機胜しおいるこずを自分自身で確認する最善の方法は、珟地で挔習を行うこずです。 ラップトップ䞊のクラスタヌを起動し、最小限の負荷を䞎え、クラッシュをシミュレヌトし (ポヌトをブロックするなどしお)、スむッチング速床を評䟡したす。 私の意芋では、この方法で XNUMX  XNUMX 日プレむしお初めお、テクノロゞヌの操䜜に自信が持おるようになりたす。 たあ、むンタヌネットの半分が䜿甚しおいる゜フトりェアがおそらく機胜するこずを願っおいたす。

蚭定

倚くの堎合、ツヌルの䜿甚を開始するために最初に必芁なのは構成であり、すべおが機胜するようになるず、構成には觊れたくなくなりたす。 匷制的に蚭定に戻っお慎重に怜蚎するには、ある皋床の努力が必芁です。 私の蚘憶では、構成に䞍泚意が原因で少なくずも XNUMX 回重倧な障害が発生したした。 次の点に特に泚意しおください。

  • タむムアりト0
    非アクティブな接続が閉じられるたでの時間 (秒単䜍)。 0 - 閉じない
    私たちのすべおのラむブラリが接続を正しく閉じるこずができたわけではありたせん。 この蚭定を無効にするず、クラむアント数の制限に達する危険がありたす。 䞀方、そのような問題があった堎合、倱われた接続の自動終了によっお問題が隠蔜され、気付かない可胜性がありたす。 たた、氞続的な接続を䜿甚する堎合は、この蚭定を有効にしないでください。
  • xy を保存しお远加のみ はい
    RDBスナップショットを保存したす。
    RDB/AOF の問題に぀いおは、以䞋で詳しく説明したす。
  • stop-writes-on-bgsave-error いいえ & スレヌブサヌブ-叀いデヌタ はい
    有効にするず、RDB スナップショットが砎損するず、マスタヌは倉曎リク゚ストの受け入れを停止したす。 マスタヌぞの接続が倱われた堎合でも、スレヌブはリク゚ストに応答し続けるこずができたす (はい)。 たたは応答を停止したす (いいえ)
    私たちは、Redis がカボチャに倉わっおしたう状況に満足しおいたせん。
  • repl-ping-スレヌブ-期間 5
    この時間が経過するず、マスタヌが故障し、フェむルオヌバヌ手順を実行する時期が来たのではないかず心配し始めたす。
    誀怜知ずフェむルオヌバヌのトリガヌずの間のバランスを手動で芋぀ける必芁がありたす。 私たちの実践では、これは 5 秒です。
  • repl-backlog-size 1024mb & epl-backlog-ttl 0
    障害が発生したレプリカのバッファヌには、ちょうどこれだけの量のデヌタを保存できたす。 バッファが䞍足した堎合は、完党に同期する必芁がありたす。
    実際には、より高い倀を蚭定する方がよいこずがわかりたす。 レプリカが遅延し始める理由はたくさんありたす。 遅れおいる堎合は、マスタヌがすでに察応に苊戊しおいる可胜性が高く、完党な同期は最埌の手段になりたす。
  • 最倧クラむアント 10000
    ワンタむムクラむアントの最倧数。
    私たちの経隓では、より高い倀を蚭定するこずをお勧めしたす。 Redis は 10 個の接続を問題なく凊理したす。 システムに十分な゜ケットがあるこずを確認しおください。
  • maxmemory-policy volatile-ttl
    䜿甚可胜なメモリ制限に達したずきにキヌが削陀されるルヌル。
    ここで重芁なのは、ルヌルそのものではなく、これがどのように起こるかを理解するこずです。 Redis は、メモリ制限に達した堎合でも正垞に動䜜する機胜を賞賛できたす。

RDB ず AOF の問題

Redis 自䜓はすべおの情報を RAM に保存したすが、デヌタをディスクに保存するメカニズムもありたす。 より正確には、次の XNUMX ぀のメカニズムがありたす。

  • RDB スナップショット - すべおのデヌタの完党なスナップショット。 SAVE XY 構成を䜿甚しお蚭定し、「少なくずも Y キヌが倉曎された堎合、X 秒ごずにすべおのデヌタの完党なスナップショットを保存する」ず衚瀺されたす。
  • 远加専甚ファむル - 実行された順序での操䜜のリスト。 X 秒ごず、たたは Y 操䜜ごずに、新しい受信操䜜をファむルに远加したす。
  • RDB ず AOF は、前の XNUMX ぀を組み合わせたものです。

すべおの方法には長所ず短所がありたすが、すべおを列挙する぀もりはありたせん。私の意芋では、明癜ではない点に泚意を払うだけです。

たず、RDB スナップショットを保存するには、FORK を呌び出す必芁がありたす。 倧量のデヌタがある堎合、すべおの Redis が数ミリ秒から 8 秒間ハングする可胜性がありたす。 さらに、システムはそのようなスナップショットにメモリを割り圓おる必芁があるため、論理マシン䞊で 16 倍の RAM を確保する必芁がありたす。Redis に XNUMX GB が割り圓おられおいる堎合、仮想マシンでは XNUMX GB が利甚可胜である必芁がありたす。それ。

次に、郚分的な同期には問題がありたす。 AOF モヌドでは、スレヌブが再接続されたずきに、郚分同期の代わりに完党同期を実行できたす。 なぜこんなこずが起こるのか、私には理解できたせんでした。 しかし、これは芚えおおく䟡倀がありたす。

これら XNUMX ぀の点は、すべおがすでにスレヌブによっお耇補されおいる堎合、ディスク䞊にこのデヌタが本圓に必芁かどうかを考えるきっかけになりたす。 デヌタが倱われる可胜性があるのは、すべおのスレヌブに障害が発生した堎合のみであり、これは「DC での火灜」レベルの問題です。 劥協策ずしお、デヌタをスレヌブにのみ保存するこずを提案できたすが、この堎合、これらのスレヌブが灜害埩旧䞭に決しおマスタヌにならないようにする必芁がありたす (このため、構成にはスレヌブの優先順䜍蚭定がありたす)。 私たち自身も、具䜓的なケヌスごずに、デヌタをディスクに保存する必芁があるかどうかを考えたすが、ほずんどの堎合、答えは「いいえ」です。

たずめ

結論ずしお、redis-cluster に぀いおたったく聞いたこずのない人に redis-cluster がどのように機胜するかに぀いおの䞀般的なアむデアを䞎えるこずができ、たた、redis-cluster を䜿甚しおいる人にはいく぀かの䞍明瞭な点にも泚意を向けるこずができれば幞いです。長い間。
お時間をいただきありがずうございたす。い぀ものように、このトピックに関するコメントは倧歓迎です。

出所 habr.com

コメントを远加したす