建築設計の少し要約を掘った後、AWSケーブル(B)

いいえ公共:大サブ速歩プログラマません

前回の記事我々は都市アクティブをまとめ、別の場所に住んでおり、2つの展開アーキテクチャのいくつかの3つのセンターは、この記事で私は自分の表現します3 5つのセンターを理解できます。

下図のように私たちの最後の記事では、2〜3のセンターこのアーキテクチャを話しました。

image.png

このアーキテクチャは、このような生産データセンターの停電などの災害復旧機能を、有効に、あなたが一日のパワーにtrueの場合、質問は今、ので、都市のオフサイト災害復旧センターや災害復旧センターをカットするすべてのトラフィックを置くことができますが、すべて入れてみろトラフィックは行くために災害復旧センターにカットされましたか?

その主な機能は、それがサービスを提供するために、同じノンストップの生産データセンターを好きではないので、問題がある、災害復旧と同等のものをバックアップデータセンターを作ることであるような物品は、災害復旧センターを言いました新しい、新しい模倣は兄が負傷した兄は、今弟の上にあるべき理由に立ってきたが、兄は新しい、ハードトップアップが間違っている可能性が高いではありませんでしたか?言い換えれば:

  • まず、あなたは災害復旧センターは、オンラインユーザトラフィックのすべてを引き継ぐ能力を持って保証することはできません、ちょうど災害復旧センターに圧倒されている可能性が受信されている、または推定よりもエラーの他の種類;
  • 本番データ・センターは、書き込み要求のユーザーではなく、この場合には、災害復旧センター、停電時刻を同期するための十分な時間を受信した場合第二に、直接ではなく、ユーザートラフィックに災害復旧センターに切り替えています。

したがって、上記の分析に基づいて、災害復旧センターは、他のトップをチェックし、準備をたくさんしなければならないかもしれ直前に、一番上にあってはならないと言うことではない、この時間は、少なくともではないすぐに、不確実である....

質問があるので、どのようにしますか?

まず上記の場合は、二つの点を最初の点、そして我々はもはや単なる災害復旧のために使用することはできません災害復旧センターを作るだけでなく、生産データセンターをして通常通りのサービスを提供することができますか?図は次のとおりです。

image.png

あなたは、アーキテクチャ図の上に見ることができます。

  • 生産はもはやないだけで、データセンター、データセンターやデータセンターの災害復旧を区別し、データセンター間で別のバックアップデータ、各データセンターは、データの総量ことを確認することです。
  • ユーザーは読み、いずれかのデータセンターで運用を書くことができます。

さて、私たちはこのアーキテクチャの気にしない、すべての最初は、少なくともその利点は非常に明白です、達成することができません。

  1. 各データセンターは、別のデータセンターにユーザトラフィックを直接切断し、データセンターの停止は、問題ではないので、場合、外来サービス(ない初心者)でした。
  2. ユーザーが最も近いデータセンターにアクセスできるので、ユーザーエクスペリエンス、より良い、と流れの全体の構造は比較的平均値です。

利点は明らかに、我々が最も重要なポイントを実装するためのすべてのより良い、そしてこのアーキテクチャを実現することができる場合は、これは次のとおりです。同時に別のデータセンターにデータを書き込むためのユーザ、データセンターの双方向のデータ同期、競合が発生した場合解決策は何ですか?

そこで問題は今、アリとゴールドのスーツアリソリューションは以下のとおりです。ユーザーは、一定のルールに従ってグループ化され、ユーザーの各グループは、データを書き込むようにする場合のみ、指定されたデータセンターに書き込むことができ、利用者の同等とデータセンターのバインディング一緒に、このようにして双方向のデータ同期前のデータセンタは、競合ではないことを保証するため、ユーザーグループ、および異なるユーザのデータ競合しない方法。

もちろん、アイデアは非常に単純ですが、それは確かに非常に面倒で達成することが、考え方はアリも証明して、我々は最初の少し上のアーキテクチャを改善するために見て、確かに可能です:

image.png

最終的に、ユーザは登録時に、発生する可能性がある部屋(以前のデータセンタ)にユーザを属しているかどうかを調べるユーザはオペレータのネットワークによって、サイトを使用するか、CDNは、負荷分散の負荷分散エンジンルームを展開するために、最も近い部屋を選択します上海のユーザーは、上海に基づいて負荷分散する時期北京は、バインド部屋で彼のuidと北京は、その後、ユーザーのグルーピングルール北京はもちろんない(にバインドされているエンジンルームに要求を転送しますすべての要求は、読み取り専用として、このような要求は確かに上海室で直接読み取ることができますので、我々が達成具体的なビジネスを実現する方法を見て、だけでなく、具体的なロードバランシング設定する必要があり、ここで思考の最も簡単な方法がある)何かを言います。

そこで、我々は今、できること:

  • 本機の電源を対応する北京部屋1アプリケーションまたはデータベースが出て行ったと仮定すると、私たちは、負荷分散を調整することができ、元々ユーザトラフィックにエンジンルーム2、外出先に転送し、この部屋に属している、ここで注意が疑問で、ユーザーグループを同時に書き込むために、ユーザーを防ぐことではありませんトラフィックは、エンジンルーム2に移行するように、2つのデータベースの競合は、今、すでにデータを書き込むことができないエンジンルーム1で問題ないです。
  • 北京は、部屋全体1停電が、あなたがキャリアネットワークやCDN経由北京室2へのトラフィックを移行できることを想定しました。
  • その北京の停電を想定すると、同じ上海にトラフィックを移行することができます。

このアーキテクチャは、実際に最も重要であるユーザーグループ、そう私たちのアプリケーション、データベース、負荷分散、データベース・テーブルを含め、そのためユーザーがサブグループ化する必要があり、我々は動作と同じユーザの要求が同じ部屋にいるようにしたいです内ではなく、部屋を横切って、これがある、最速であるユニット

だから、このアーキテクチャの上に、それはあなたが十分なお金を持っている場合、完全に構成可能なデータセンターを構築することは、高価な必要とされているので、我々は、(任意の拡張子に行くことができ、実際に「2〜3のセンター」Advanced Editionのが、このユニットアーキテクチャですa)は、たとえば、あなたはまた、次の図1を増加させ、上海、杭州のデータセンターを追加します。

image.png

これは呼ばれる3つの5のセンター

間違った場所の歓迎は私を修正する場合はずっと3〜5のセンターについての普通紙市場は、私はこの記事があなたを助ける与えることができることを望む、当然のことながら、他の記事に私も作っ参照は、自分自身を理解しています。

私たちは経験を読んで、コードの塊を参照してくださいまた、小さな携帯電話の画面には好きではないので、私はスタイルが少し通常のテキストの上になります書いていると信じています。あなたはそれのような何かを得るために少し考えを与える場合。

いいえ公共:大サブ速歩プログラマません

参考:

おすすめ

転載: juejin.im/post/5cf627e55188254c5726a725