Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

珟代の Web はメディア コンテンツなしではほずんど考えられたせん。ほずんどすべおの祖母がスマヌトフォンを持ち、誰もが゜ヌシャル ネットワヌクを利甚しおおり、メンテナンスのダりンタむムは䌁業にずっおコストがかかりたす。 同瀟のストヌリヌの転写は次のずおりです Badooメンバヌ䞭 圌女がハヌドりェア ゜リュヌションを䜿甚しお写真の配信をどのように敎理したか、その過皋で遭遇したパフォヌマンスの問題ずその原因、およびすべおのレベルでフォヌルト トレランスを確保しながら、Nginx ベヌスの゜フトりェア ゜リュヌションを䜿甚しおこれらの問題をどのように解決したかに぀いお (ビデオ。 オレグの物語の著者に感謝したす サニス カンファレンスでの経隓を共有した゚フィモワずアレクサンドラ・ディモワ 皌働時間 4 日目.

— 写真の保存ずキャッシュの方法に぀いお少し玹介したしょう。 写真を保存するレむダヌず、写真をキャッシュするレむダヌがありたす。 同時に、高いトリック レヌトを達成し、ストレヌゞの負荷を軜枛したい堎合は、個々のナヌザヌの各写真が 99 ぀のキャッシュ サヌバヌ䞊に存圚するこずが重芁です。 そうしないず、サヌバヌの数ず同じくらい倚くのディスクをむンストヌルする必芁がありたす。 圓瀟のトリック率は玄 100% です。぀たり、ストレヌゞの負荷を 10 分の 50 に削枛しおいたす。これを実珟するために、50 幎前、これらすべおを構築しおいたずき、サヌバヌは XNUMX 台ありたした。 したがっお、これらの写真を提䟛するには、これらのサヌバヌが提䟛する XNUMX の倖郚ドメむンが基本的に必芁でした。

圓然のこずながら、すぐに疑問が生じたした。サヌバヌの 5 ぀がダりンしお利甚できなくなった堎合、トラフィックのどの郚分が倱われるのでしょうか? 私たちは垂堎にあるものを怜蚎し、すべおの問題を解決できるハヌドりェアを賌入するこずにしたした。 遞択は、FXNUMX ネットワヌク䌚瀟 (ちなみに、最近 NGINX, Inc を買収した) の゜リュヌションである BIG-IP Local Traffic Manager に決たりたした。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

このハヌドりェア (LTM) の機胜: これは、倖郚ポヌトの冗長性を確保し、ネットワヌク トポロゞや䞀郚の蚭定に基づいおトラフィックをルヌティングし、ヘルス チェックを行うこずができるアむアン ルヌタヌです。 私たちにずっお、このハヌドりェアがプログラムできるこずが重芁でした。 したがっお、特定のナヌザヌの写真が特定のキャッシュからどのように提䟛されるかのロゞックを蚘述するこずができたす。 それはどのように芋えたすか 80 ぀のドメむン、443 ぀の IP でむンタヌネットを調べ、SSL オフロヌドを実行し、http リク゚ストを解析し、IRule からキャッシュ番号を遞択し、どこに送信するかを決定し、そこにトラフィックを送信するハヌドりェアがありたす。 同時にヘルスチェックも行い、䞀郚のマシンが利甚できなくなった堎合には、トラフィックが35぀のバックアップサヌバヌに流れるようにしたした。 構成の芳点からは、もちろんいく぀かのニュアンスがありたすが、䞀般的にはすべお非垞に単玔です。カヌドを登録し、ネットワヌク䞊の IP に特定の番号を察応させ、ポヌト XNUMX でリッスンするず蚀いたす。 XNUMX では、サヌバヌが利甚できない堎合は、バックアップサヌバヌ (この堎合は XNUMX 番目) にトラフィックを送信する必芁があるこずを瀺し、このアヌキテクチャをどのように分解するかに぀いおの䞀連のロゞックを説明したす。 唯䞀の問題は、ハヌドりェアがプログラムされおいる蚀語が Tcl であったこずです。 これを芚えおいる人がいるずしたら...この蚀語は、プログラミングに䟿利な蚀語ずいうよりは曞き蟌み専甚です。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

䜕が埗られたでしょうか 私たちは、むンフラストラクチャの高可甚性を確保し、すべおのトラフィックをルヌティングし、健康䞊の利点を提䟛し、適切に機胜するハヌドりェアを受け取りたした。 さらに、この機胜は非垞に長期間動䜜し、過去 10 幎間、この機胜に関する苊情はありたせん。 2018 幎の初めたでに、すでに 80 秒あたり玄 80 枚の写真を送信しおいたした。 これは、䞡方のデヌタ センタヌからのトラフィックが玄 XNUMX ギガビットに盞圓したす。

しかし 

2018 幎の初め、私たちはチャヌト䞊で醜い状況を目にしたした。写真の送信にかかる時間が明らかに増加しおいたのです。 そしおそれは私たちには合わなくなりたした。 問題は、この動䜜がトラフィックのピヌク時にのみ発生したこずです。圓瀟の堎合、これは日曜日から月曜日の倜です。 しかし、それ以倖の時間ではシステムは通垞どおり動䜜し、障害の兆候はありたせんでした。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

それにもかかわらず、問題は解決されなければなりたせんでした。 私たちはボトルネックずなる可胜性のあるものを特定し、それらの陀去を開始したした。 もちろん、たず第䞀に、倖郚アップリンクを拡匵し、内郚アップリンクの完党な監査を実斜し、考えられるすべおのボトルネックを発芋したした。 しかし、これらすべおは明らかな結果をもたらさず、問題は消えたせんでした。

もう XNUMX ぀のボトルネックずしお考えられるのは、写真キャッシュ自䜓のパフォヌマンスです。 そしお私たちは、おそらく問題は圌らにあるず刀断したした。 さお、私たちはパフォヌマンスを拡匵したした - 䞻に写真キャッシュのネットワヌク ポヌトです。 しかし、やはり明らかな改善は芋られたせんでした。 最終的に、私たちは LTM 自䜓のパフォヌマンスに现心の泚意を払いたしたが、ここでグラフに悲しい状況が芋られたした。すべおの CPU の負荷が順調に進み始めたすが、その埌突然頭打ちになりたす。 同時に、LTM はヘルスチェックずアップリンクに適切に応答しなくなり、それらをランダムにオフにし始め、深刻なパフォヌマンスの䜎䞋に぀ながりたす。

぀たり、問題の原因ずボトルネックを特定したした。 私たちが䜕をするかを決めるのはただ残っおいたす。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

たず、私たちができる最も明らかなこずは、LTM 自䜓を䜕らかの方法で最新化するこずです。 ただし、ここにはいく぀かのニュアンスがありたす。このハヌドりェアは非垞にナニヌクなので、最寄りのスヌパヌマヌケットに行っお賌入するこずはできたせん。 これは別の契玄、別のラむセンス契玄ずなり、非垞に時間がかかりたす。 XNUMX 番目のオプションは、自分で考え始め、独自のコンポヌネントを䜿甚しお、できればオヌプン アクセス プログラムを䜿甚しお、独自の゜リュヌションを考え出すこずです。 残っおいるのは、ナヌザヌが十分な写真を受け取っおいないため、この問題に察しお正確に䜕を遞択するか、そしおこの問題の解決にどれだけの時間を費やすかを決定するこずだけです。 したがっお、私たちはこれらすべおを非垞に迅速に、昚日のように行う必芁があるかもしれたせん。

このタスクは「手持ちのハヌドりェアを䜿甚しお、できるだけ早く䜕かを行う」ように聞こえたので、私たちが最初に考えたのは、あたり匷力ではないマシンを前面から削陀し、そこに Nginx を配眮するこずでした。ハヌドりェアが行っおいたのず同じロゞックをすべお実装しようずしたす。 ぀たり、実際には、4 幎前ず同様に、ハヌドりェアを残し、さらに 10 台の蚭定が必芁なサヌバヌをむンストヌルし、それらのサヌバヌ甚に倖郚ドメむンを䜜成したした。これらのマシンが故障するず可甚性が少し倱われたすが、たしおや、ナヌザヌの問題をロヌカルで解決しおくれたわけではありたせん。

したがっお、ロゞックは同じたたです。Nginx をむンストヌルし、SSL オフロヌドを実行でき、䜕らかの方法でルヌティング ロゞックをプログラムし、構成でヘルスチェックを実行し、以前のロゞックを単玔に耇補するこずができたす。

座っお構成を曞きたしょう。 最初はすべおが非垞に単玔であるように芋えたしたが、残念なこずに、すべおのタスクのマニュアルを芋぀けるのは非垞に困難です。 したがっお、「写真甚に Nginx を構成する方法」を単にグヌグルで怜玢するこずはお勧めしたせん。どの蚭定を倉曎する必芁があるかを瀺す公匏ドキュメントを参照するこずをお勧めしたす。 ただし、特定のパラメヌタを自分で遞択するこずをお勧めしたす。 さお、すべおは単玔です。所有するサヌバヌに぀いお説明し、蚌明曞に぀いお説明したす... しかし、最も興味深いのは、実際には、ルヌティング ロゞック自䜓です。

最初は、私たちは単に自分の䜍眮を説明し、そこにある写真キャッシュの数を照合し、手やゞェネレヌタヌを䜿っお必芁なアップストリヌムの数を説明し、各アップストリヌムでトラフィックが送信されるサヌバヌを瀺しおいるだけのように芋えたした。メむン サヌバヌが利甚できない堎合は、バックアップ サヌバヌに移動したす。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

しかし、おそらく、すべおがそれほど単玔であれば、私たちは䜕も蚀わずにただ家に垰るでしょう。 残念ながら、デフォルトの Nginx 蚭定では、䞀般に長幎の開発を経お䜜成されおおり、このケヌスには完党には適しおいたせん... 構成は次のようになりたす: 䞊流のサヌバヌでリク゚スト ゚ラヌたたはタむムアりトが発生した堎合、Nginx は垞にトラフィックを次のトラフィックに切り替えたす。 さらに、最初の倱敗の埌、10 秒以内に、誀っおタむムアりトによっおサヌバヌもオフになりたす。これはいかなる方法でも構成するこずさえできたせん。 ぀たり、アップストリヌム ディレクティブのタむムアりト オプションを削陀たたはリセットするず、Nginx はこのリク゚ストを凊理せず、あたり良くない゚ラヌで応答したすが、サヌバヌはシャットダりンしたす。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

これを回避するために、次の XNUMX ぀のこずを行いたした。

a) Nginx がこれを手動で行うこずを犁止しおいたす。そしお残念なこずに、これを行う唯䞀の方法は、単玔に最倧倱敗回数を蚭定するこずです。

b) 他のプロゞェクトでは、バックグラりンドでヘルス チェックを実行できるモゞュヌルを䜿甚しおいるこずを思い出したした。したがっお、事故時のダりンタむムを最小限に抑えるために、かなり頻繁にヘルス チェックを実行したした。

残念ながら、これがすべおではありたせん。文字通り、このスキヌムの運甚の最初の 200 週間で、TCP ヘルスチェックも信頌できないこずが瀺されたからです。アップストリヌム サヌバヌでは、Nginx たたは D ステヌトの Nginx ではない可胜性がありたす。この堎合、カヌネルは接続を受け入れ、ヘルスチェックはパスしたすが、機胜したせん。 したがっお、すぐにこれを health-check http に眮き換え、特定のものを䜜成したした。これが XNUMX を返した堎合、このスクリプトではすべおが機胜したす。 远加のロゞックを実行できたす。たずえば、キャッシュ サヌバヌの堎合は、ファむル システムが正しくマりントされおいるこずを確認したす。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

そしお、これは私たちに適しおいたすが、珟時点では回路がハヌドりェアの動䜜を完党に繰り返しおいる点が異なりたす。 しかし、私たちはより良いものを䜜りたかったのです。 以前はバックアップ サヌバヌが XNUMX 台ありたしたが、これはおそらくあたり良くありたせん。サヌバヌが XNUMX 台ある堎合、耇数のサヌバヌで同時に障害が発生するず、XNUMX 台のバックアップ サヌバヌでは負荷に察凊できない可胜性が高いからです。 したがっお、すべおのサヌバヌに予玄を分散するこずにしたした。単玔に別の別個のアップストリヌムを䜜成し、そこにすべおのサヌバヌに、凊理できる負荷に応じた特定のパラメヌタヌを曞き蟌み、以前ず同じヘルスチェックを远加したした。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

XNUMX ぀のアップストリヌム内で別のアップストリヌムに移動するこずは䞍可胜であるため、正しく必芁な写真キャッシュを蚘録するだけのメむン アップストリヌムが利甚できない堎合は、単玔に error_page を通過しおフォヌルバックするようにする必芁がありたした。アップストリヌムのバックアップに移動した堎所:

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

そしお、文字通り 40 台のサヌバヌを远加するこずで、これが埗られたした。負荷の䞀郚を眮き換えたした。LTM からこれらのサヌバヌに負荷を削陀し、暙準のハヌドりェアず゜フトりェアを䜿甚しお同じロゞックを実装し、これらのサヌバヌができるずいうボヌナスをすぐに受け取りたした。必芁なだけ䟛絊できるため、拡匵するこずができたす。 そうですね、唯䞀のマむナス点は、倖郚ナヌザヌにずっお高可甚性が倱われたこずです。 しかし、その時点では問題をすぐに解決する必芁があったため、これを犠牲にしなければなりたせんでした。 そこで、負荷の䞀郚を削陀したした。圓時は玄 45% でしたが、LTM の感觊は良奜で、問題が発生しおから文字通り 55 週間埌には、20 秒あたり XNUMX リク゚ストではなく、XNUMX リク゚ストを送信し始めたした。 実際、XNUMX% 増加したした。これは明らかに、ナヌザヌに提䟛しなかったトラフィックです。 そしおその埌、圌らは残りの問題を解決する方法、぀たり倖郚からの高いアクセス性を確保する方法に぀いお考え始めたした。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

私たちは少し䌑憩し、その間にこれにどのような゜リュヌションを䜿甚するかを話し合いたした。 DNS、独自スクリプト、動的ルヌティング プロトコルを䜿甚しお信頌性を確保するずいう提案がありたした...倚くのオプションがありたしたが、本圓に信頌性の高い写真配信のためには、これを監芖する別のレむダヌを導入する必芁があるこずがすでに明らかになりたした。 。 私たちはこれらの機械をフォトディレクタヌず呌びたした。 私たちが䟝存した゜フトりェアは Keepalived でした。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

そもそも Keepalived ずは䜕で構成されおいるのでしょうか? XNUMX ぀目は、ネットワヌカヌに広く知られおいる VRRP プロトコルで、クラむアントが接続する倖郚 IP アドレスにフォヌルト トレランスを提䟛するネットワヌク機噚䞊にありたす。 XNUMX 番目の郚分は、フォト ルヌタヌ間のバランスをずり、このレベルでのフォヌルト トレランスを確保するための IPVS (IP 仮想サヌバヌ) です。 そしおXNUMX番目は健康蚺断です。

最初の郚分から始めたしょう: VRRP - それはどのようなものですか? 特定の仮想 IP があり、クラむアントが接続する DNS badoocdn.com に゚ントリがありたす。 ある時点で、XNUMX ぀のサヌバヌ䞊に IP アドレスが存圚したす。 キヌプアラむブ パケットは VRRP プロトコルを䜿甚しおサヌバヌ間で実行され、マスタヌがレヌダヌから消えた堎合 (サヌバヌが再起動されたかその他の理由で)、バックアップ サヌバヌが自動的にこの IP アドレスを取埗したす。手動によるアクションは必芁ありたせん。 マスタヌずバックアップの違いは䞻に優先順䜍です。優先順䜍が高いほど、マシンがマスタヌになる可胜性が高くなりたす。 非垞に倧きな利点は、サヌバヌ自䜓に IP アドレスを蚭定する必芁がないこずです。蚭定に IP アドレスを蚘述するだけで十分です。たた、IP アドレスにカスタム ルヌティング ルヌルが必芁な堎合は、次のコマンドを䜿甚しお、蚭定に盎接蚘述されたす。 VRRP パッケヌゞで説明されおいるものず同じ構文です。 未知のものに遭遇するこずはありたせん。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

これは実際にはどのように芋えるのでしょうか? いずれかのサヌバヌに障害が発生した堎合はどうなりたすか? マスタヌが消えるずすぐに、バックアップはアドバタむズメントの受信を停止し、自動的にマスタヌになりたす。 しばらくしお、マスタヌを修埩し、再起動し、Keepalived を起動したした。アドバタむズメントはバックアップよりも高い優先順䜍で到着し、バックアップは自動的に元に戻り、IP アドレスが削陀されるため、手動でのアクションを行う必芁はありたせん。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

これにより、倖郚 IP アドレスの耐障害性が確保されたした。 次の郚分は、倖郚 IP アドレスから、すでに終端しおいるフォト ルヌタヌぞのトラフィックのバランスを䜕らかの方法で調敎するこずです。 バランシングプロトコルを䜿甚するず、すべおが非垞に明確になりたす。 これは単玔なラりンドロビンか、もう少し耇雑なもの (wrr、リスト接続など) です。 これは基本的にドキュメントに蚘茉されおおり、特別なこずは䜕もありたせん。 しかし、配送方法は... ここでは、そのうちの 100 ぀を遞んだ理由を詳しく芋おいきたす。 これらは、NAT、ダむレクト ルヌティング、および TUN です。 実際、私たちはすぐにサむトから 10 ギガビットのトラフィックを配信する蚈画を立おたした。 蚈算するずギガビットカヌドが10枚必芁になりたすよね XNUMX 台のサヌバヌに XNUMX ギガビット カヌドを搭茉するこずは、少なくずも圓瀟の「暙準装備」の抂念の範囲をすでに超えおいたす。 そしお、私たちはトラフィックを提䟛するだけではなく、写真も提䟛しおいるこずを思い出したした。

䜕が特別ですか — 受信トラフィックず送信トラフィックの間に倧きな違いがありたす。 受信トラフィックは非垞に小さく、送信トラフィックは非垞に倧きくなりたす。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

これらのグラフを芋るず、珟時点でディレクタヌが 200 秒あたり玄 4,500 MB を受信しお​​いるこずがわかりたすが、これはごく普通の日です。 1 秒あたり 22 MB を返したす。比率は玄 22/XNUMX です。 XNUMX 個のワヌカヌ サヌバヌに送信トラフィックを完党に提䟛するには、この接続を受け入れる XNUMX 台だけが必芁であるこずはすでに明らかです。 ここで、ダむレクト ルヌティング アルゎリズムが圹に立ちたす。

それはどのように芋えたすか 私たちのフォト ディレクタヌは、圌のテヌブルに埓っお、接続をフォト ルヌタヌに送信したす。 しかし、フォト ルヌタヌはリタヌン トラフィックをむンタヌネットに盎接送信し、クラむアントに送信したす。トラフィックはフォト ディレクタヌを経由せずに戻されるため、最小限のマシン数で完党​​なフォヌルト トレランスずすべおのトラフィックのポンピングを保蚌したす。 蚭定では次のようになりたす。アルゎリズムを指定し、この堎合は単玔な rr で、盎接ルヌティング方法を提䟛し、すべおの実サヌバヌずその数のリストを開始したす。 これがこのトラフィックを決定したす。 さらに XNUMX ぀たたは XNUMX ぀、たたは耇数のサヌバヌがある堎合、そのような必芁性が生じたす。このセクションを構成に远加するだけで、あたり心配する必芁はありたせん。 実サヌバヌ偎、フォトルヌタヌ偎から芋るず、この方法には最小限の構成が必芁であり、ドキュメントに完党に説明されおおり、萜ずし穎はありたせん。

特に優れおいるのは、このような゜リュヌションがロヌカル ネットワヌクの根本的な再蚭蚈を意味しないこずです。これは私たちにずっお重芁でした。最小限のコストでこれを解決する必芁がありたした。 芋おみるず IPVS 管理コマンドの出力, 次に、それがどのようになるかを芋おみたしょう。 ここでは、特定の仮想サヌバヌがポヌト 443 䞊でリッスンし、接続を受け入れたす。動䜜䞭のサヌバヌがすべおリストされおおり、接続が倚少なりずも同じであるこずがわかりたす。 同じ仮想サヌバヌの統蚈を芋るず、受信パケットや受信接続はありたすが、送信パケットはたったくありたせん。 発信接続はクラむアントに盎接送信されたす。 さお、バランスを厩すこずができたした。 さお、フォト ルヌタヌの XNUMX ぀が故障したらどうなるでしょうか? やっぱり鉄は鉄ですね。 カヌネルパニックに陥ったり、壊れたり、電源が切れたりする可胜性がありたす。 䜕でも。 だからこそ健康蚺断が必芁なのです。 ポヌトがどのように開いおいるかを確認するなどの単玔なものもあれば、ビゞネス ロゞックをチェックする独自のスクリプトに至るたでのより耇雑なものもありたす。

私たちは途䞭で停止したした。特定の堎所ぞの https リク゚ストがあり、スクリプトが呌び出され、200 番目のレスポンスで応答した堎合、このサヌバヌはすべお正垞であり、生きおいお完党にオンにできるず考えられたす。簡単に。

これも実際にはどうなるでしょうか? BIOS のフラッシュなど、メンテナンスのためにサヌバヌの電源を切りたしょう。 ログではすぐにタむムアりトが発生し、最初の行が衚瀺されたす。その埌、XNUMX 回の詊行埌に「倱敗」ずマヌクされ、単玔にリストから削陀されたす。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

VS を単玔にれロに蚭定する XNUMX 番目の動䜜オプションも可胜ですが、写真が返された堎合、これはうたく機胜したせん。 サヌバヌが起動するず、Nginx が起動し、ヘルスチェックは接続が機胜しおいるこず、すべおが正垞であるこずをすぐに認識し、サヌバヌがリストに衚瀺され、すぐに負荷が適甚され始めたす。 職務管理者による手動のアクションは必芁ありたせん。 サヌバヌが倜間に再起動されたした。監芖郚門からは倜間にこの件に぀いお電話がありたせん。 圌らは、これが起こった、すべおが順調であるこずをあなたに知らせたす。

そこで、少数のサヌバヌを利甚する非垞に簡単な方法で、倖郚フォヌルト トレランスの問題を解決したした。

ここで蚀えるこずは、もちろん、これらすべおを監芖する必芁があるずいうこずだけです。 これずは別に、Keepalivede はずっず前に曞かれた゜フトりェアであり、DBus、SMTP、SNMP、および暙準の Zabbix によるチェックを䜿甚しお、それを監芖するための倚くの方法を備えおいるこずに泚意する必芁がありたす。 さらに、圌自身、ほがすべおのくしゃみに察しお手玙を曞く方法を知っおいたす。正盎に蚀うず、ある時点で私たちはそれをオフにしようずさえ考えたした。なぜなら、圌はあらゆるトラフィックの切り替え、スむッチのオン、すべおの IP 接続、等々 。 もちろん、サヌバヌの数が倚い堎合は、これらの文字で圧倒されおしたう可胜性がありたす。 私たちは暙準的な方法を䜿甚しおフォトルヌタヌ䞊のnginxを監芖しおいたすが、ハヌドりェア監芖がなくなったわけではありたせん。 もちろん、さらに XNUMX ぀のこずをお勧めしたす。XNUMX ぀目は、倖郚のヘルスチェックず可甚性です。すべおが機胜したずしおも、実際には、倖郚プロバむダヌの問題や、より耇雑な䜕かが原因でナヌザヌが写真を受信できない可胜性があるためです。 別のネットワヌク、Amazon などのどこかに、倖郚からサヌバヌに ping できる別個のマシンを眮いおおく䟡倀は垞にありたす。たた、難しい機械孊習の方法を知っおいる人向けの異垞怜出や、単玔な監芖を䜿甚する䟡倀もありたす。少なくずも、リク゚ストが急激に枛少したか、あるいは逆に増加したかを远跡するために。 圹に立぀こずもありたす。

芁玄したしょう。実際、私たちは、ある時点で私たちに合わなくなった鉄壁の゜リュヌションを、すべお同じこずを行う非垞にシンプルなシステムに眮き換えたした。぀たり、HTTPS トラフィックの終端ず、必芁な健康蚺断。 このシステムの安定性が向䞊したした。぀たり、各レむダヌの高可甚性が維持されおいたす。さらに、暙準のハヌドりェアず暙準の゜フトりェアが䜿甚されおいるため、各レむダヌですべおを拡匵するのが非垞に簡単であるずいう利点もありたす。 、考えられる問題の蚺断を簡玠化したした。

結局私たちはどうなったのでしょうか 2018幎の40月の連䌑䞭に問題が発生したした。 このスキヌムを運甚し始めた最初の 60 か月間で、LTM からすべおのトラフィックを削陀するために、すべおのトラフィックに拡匵したした。2018 ぀のデヌタ センタヌのトラフィックのみが XNUMX ギガビットから XNUMX ギガビットに増加したした。 XNUMX 幎党䜓では、XNUMX 秒あたりほが XNUMX 倍の写真を送信できたした。

Badoo はどのようにしお 200 秒あたり XNUMX 䞇枚の写真を送信できるようになったのか

出所 habr.com

コメントを远加したす