DDoS攻撃を受けているのに何もせず攻撃するだけ…。

昨今、オンラインの世界では熾烈な攻防戦が静かに繰り広げられている。

主人公は国家安全保障局やハッカー組織ではなく、あまり知られていない新興企業TablePlus

DDoS 攻撃者は熱心に試みています。彼らはあらゆる方向から群がり、何億ものリクエストで TablePlus のサーバーを圧倒すると宣言しました。特にドイツとイギリスからのトラフィックは豪雨のようなもので、数千マイルにわたって降り注いでいます。彼らは、TablePlus の帯域幅とコンピューティング リソースを使い果たすために、わずか 5 日間で 8,000 万件を超えるダウンロード リクエストを開始しました。

この大規模な侵略に直面して、TablePlus の友人たちは何をすべきでしょうか?彼らはパニックになってCloudflareに助けを求めるだろうか?彼らは IP をブロックしたりサービスを停止したりするのに忙しいのでしょうか?

答えは、「何もせず、必要に応じて飲食する、まるで重要なことは何も起こらなかったかのように」であることが判明しました。 CPU が時々 0% から 1% に急上昇しなければ、サーバーは自分自身が「解離性同一性障害」に罹っているのではないかと疑っていたでしょう。 TablePlus のサーバーはすべて百戦錬磨であり、この些細な問題を真剣に受け止めません。

この大胆な男たちはどこから自信を得ているのでしょうか?

この静けさは、TablePlus のアーキテクチャ設計における独自の選択、つまり単一のアプリケーションから生まれています。現在普及しているマイクロサービス アーキテクチャとは異なり、TablePlus は、API、Web サイトのフロントエンド、支払いなどを含むすべての機能を 1 つのサービスに集中させることを選択します。この「統合」アーキテクチャは単純に見えますが、過小評価できない利点があります。

マイクロサービス、コンテナ、オーケストレーションを心配する人もいますが、TablePlus はバイナリ ファイルのみが必要で、すぐに使用できます。

単一アプリケーションのパフォーマンスを最大化するために、TablePlus はテクノロジーの選択に多大な労力を費やしてきました。彼らは、主な開発ツールとして、Golang と Rust という 2 つの高性能言語を選択しました。これら 2 つの言語の優れた同時処理機能とメモリ管理メカニズムにより、単一の TablePlus サービスで数十億のリクエストを簡単に処理できます。

しかし、TablePlus は、優れた言語を持っているだけでは十分ではありません。また、ソフトウェア エンジニアリングのあらゆる側面において卓越性を追求し、単一サービスのパフォーマンスを最大化するよう努めています。

主要なデータベースにインデックスを付けて、クエリの効率を向上させます。

主要なビジネスに影響を与えないように、コア データベースと非コア データ (ログなど) を別々に保管します。

Nginx をリバース プロキシとして使用して、リクエストを柔軟にスケジュールおよび分散します。

Cloudflareが提供するCDNやSSLなどの機能により、パフォーマンスとセキュリティがさらに向上します。

慎重に作成された単一のサービスと最適化された展開環境の組み合わせにより、TablePlus はシンプルで効率的なアーキテクチャを実現します。同時実行性の高いシナリオでは、このアーキテクチャは、DDoS 攻撃に直面した場合でも、驚くべきパフォーマンスを示します。

もちろん、どんなに腕が良くても包丁は怖いです。どんなに優れたサービスであっても、それをどのように活用するかを考えなければなりません。導入に関しても、TablePlus はシンプルさと効率性を追求します。 Golang と Rust の機能を最大限に活用し、サービスを1 つのバイナリ ファイルにコンパイルして、Linux サーバー上で直接実行します。この「依存関係のない」導入方法により、運用と保守作業が簡素化されるだけでなく、サーバーのパフォーマンスも最大化されます。

TablePlus のエンジニアは、Linux の Systemctl を使用してサービス プロセスを管理し、自動再起動や監視などの機能を実装し、システムの信頼性をさらに向上させています。数百のマイクロサービスの複雑なアーキテクチャと比較して、TablePlus のデプロイは非常にシンプルです。

このようにして、TablePlus は、慎重に設計された単一アプリケーション アーキテクチャと最小限の展開により、システムのパフォーマンスと効率を新たなレベルに引き上げました。 DDoS 攻撃に直面しても、彼らは冷静に対応し、アーキテクチャ設計の力を実証しました。

コンテナー、VM、オーケストレーションはすべて、TablePlus の前では単なる派手なトリックにすぎず、言及する価値はありません。

単体アプリケーションの Zhenjing Protector を使用すると、TablePlus は DDoS 攻撃に直面しても平静を保ちます。何億ものリクエストが来ても、システムサービスはそれに耐えることができ、トラフィックがどんなに激しくても、Cloudflareはそれに耐えることができ、たとえ攻撃がエスカレートしても、モノリシックアーキテクチャは維持されます。

この物語は、すべてのものには両面があることを教えてくれます。単一のアプリケーションは単純に見えるかもしれませんが、特定のシナリオでは威力を発揮することもあります。重要なのは、TablePlus と同じように、自社のビジネスの特性に応じて現地の状況に適応し、強みを活かして弱みを回避することです。自分自身と敵を知り、そうすれば決して危険にさらされることはありません。

「機敏性」と「柔軟性」が求められるこの時代において、TablePlus の「一人で会議に行く」ことは間違いなく少し悲劇的です。しかし、彼らは実際の行動を使って、単一のエンティティであるかマイクロサービスであるかに関係なく、アーキテクチャでは優れた仕事をし、パフォーマンスを重視し、それ以外は単なるクラウドであることを世界に伝えます

この物語はまた、テクノロジーは決して白か黒かではないことを思い出させます。テクノロジーの品質の判断は、特定のアプリケーション シナリオから切り離すことはできません。自分に合ったものが一番いいのです。オープンで革新的な心を維持し、変化を受け入れることによってのみ、私たちは絶え間なく変化するテクノロジーの波の中で独自の立場を見つけることができます。

マイクロサービスは確かにトレンドですが、モノリシック アプリケーションにも独自の存在理由があります。重要なのは、正しいポジショニングを見つけ、長所を活かして短所を回避し、利点を最大化することです。

TablePlus と同様に、他の企業が依然として流行を追い求めている一方で、静かにパフォーマンスの頂点に達しています。このような「時代の流れに逆らう」勇気と知恵は、私たち一人ひとりが考え、学ぶ価値があります。

ライナスは、カーネル開発者がタブをスペースに置き換えるのを防ぐことに自ら取り組みました。 彼の父親はコードを書くことができる数少ないリーダーの 1 人であり、次男はオープンソース テクノロジー部門のディレクターであり、末息子はオープンソース コアです。寄稿者Robin Li: 自然言語 新しいユニバーサル プログラミング言語になるでしょう。オープン ソース モデルは Huawei にますます後れをとっていきます 。一般的に使用されている 5,000 のモバイル アプリケーションを Honmeng に完全に移行するには 1 年かかります。 リッチテキスト エディタ Quill 2.0 リリースされ、機能、信頼性、開発者は「恨みを取り除く ために握手を交わしました。 Laoxiangji のソースはコードではありませんが、その背後にある理由は非常に心温まるものです。Googleは大規模な組織再編を発表しました。
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/4148359/blog/11049955