兆トラフィックフォワーディングエンジンBFEオープンソースBaiduの!

BFEは(Baiduのフロントエンドは、Baiduのフロントエンド統一は)統一7つのBaiduのトラフィック転送プラットフォームです。BFEプラットフォームBaiduは現在千万にわたって毎日近い1000000000000ピークQPS要求を転送、トラフィックの大部分へのアクセス権を持っています。2019において、百度春祭りは、春祭りの円滑な進行を確保するため、スムーズに実行するために大規模なユーザー圧力、ピーク流量を数回にBFEプラットフォーム、封筒活動を赤い封筒活動赤。

トラフィックのための統合プラットフォームとして、フォワード、BFEプラットフォームは、以下の4つの主要な機能を統合します。

  • アクセスとトラフィック転送:HTTP、HTTPS、HTTP / 2、QUICと他のプロトコルのサポート、および強力なアプリケーション層のルーティング機能をサポートしています

  • 交通グローバルスケジューリング:外部ネットワークと内部ネットワークのトラフィックスケジューリングディスパッチからスケジューリングシステムがサポートするグローバルトラフィックフローが一緒に構成します

  • セキュリティとアンチ攻撃:サポートブラックリストの禁止、罰金とアプリケーション層ファイアウォール(WAF)および他の抗攻撃能力を制限します

  • リアルタイムデータ分析:超高レベルの寸法の微細なタイミングレポートのサポート

プラットフォームBFEのコアコンポーネントとして、BFEフォワーディングエンジンは、2012年から開発し、2014年に完全な復興に行くの言語を使用し始めました。

囲碁言語、および一般的に使用さnginxのオープン・ソース・ソフトウェア業界と比較して、BFEは、次のような利点があります。

  • 高いR&D効率:GO言語開発効率がはるかに高いC言語(およびLuaの)よりも、コードの保守性の面でも大きな利点を有します。

  • システムの高度なセキュリティと安定性:ゴー言語は、安定性とセキュリティリスクの多くを避けるため、C言語バッファオーバーフローの問題に固有ではありません。例外に加えて、プログラムはライン上で急速な反復の場合には崩壊しないことを保証するために、キャプチャすることができます。

より高レベルのプログラミング言語のソフトウェアシステムに基づいて長期的な傾向は、徐々に競争上の優位性を獲得すると考えられる理由。CPUなどのハードウェア資源の価格は、システムの安定性/安全性を考慮するために、より重要な決定となり、高速で落下し、人間コストの開発、プロジェクト開発のリスクます。同様のBFEこの高レベルのプログラミング言語ベースのソフトウェアが徐々に主流になるだろうしながら、主にC言語に基づいて、この観点からNginxは徐々に低下します。

また、BFEはデザインではなく、エンタープライズアプリケーションのシナリオを考え提供します:

  • 転送シーンの直接サポート:nginxのプロキシとの異なった進化の道へのWebサーバーからの移行ので、BFEはデザインシーンに直接転送され、より多くのニーズはフォワードモデルおよび転送設定からシーンを転送します

  • マルチテナントサポート:シナリオをクラウドコンピューティングでは、マルチテナントの再利用が普及需要です。BFEの設計では、内蔵のは、マルチテナントのサポートを提供します

  • 構造構成:BFEドッキングを容易にするために、構成設計、JSON構造化された方法のような大量の使用、および構成管理システム

  • リッチ監視プローブ:産業用ソフトウェアとして、BFEデザインは、内部状態変数の数千人がHTTP外向きの上にさらされ、BFE手続きをオンラインモニタの特定のニーズに合わせ

正式にオープン2019年の夏の交換や負荷分散技術、BFEフォワーディングエンジンの開発を促進するために。

https://github.com/baidu/bfe

BFEは現在、オープンソースであり、次のキーの機能をサポートしています。

図1に示すように、メイン・アクセス・ネットワーク・プロトコル

  • サポートHTTP / HTTPS / SPDY / HTTP2 / WebSocketを、など

  • サポートTLS / HTTP / WebSocketのリバースプロキシモード

図2に示すように、拡張フレーム

  • 拡張可能なプラグイン・フレームワーク、カスタム拡張モジュールの急速な発展、ビジネスニーズに合わせてカスタマイズを通じて、

    頼みます

  • 禁止内蔵書き換え、リダイレクト、トラフィックの変化、およびその他の豊富なプラグイン

要求内容シャントに基づく3、

  • 独自のシャントルール言語領域に基づいてトラフィックの転送をカスタマイズし、複雑なビジネスシナリオを満たすために

  • 条件に基づいて要求されたコンテンツ(URI /ヘッダ/クッキーなど)と要求コンテキスト(IP、プロトコル、ラベル、時間など)プリミティブを含む完全なシャントプリミティブ条件をサポートします。

図4に示すように、フレキシブルロードバランシング戦略

  • 支持体は、クラスタレベルおよびインスタンスレベルのロードバランシング、マルチエリアの災害復旧および過負荷保護が可能なロードバランス

  • 内蔵WRR、加重最小接続ポリシー、IPベースのセッションを実装するか、ユーザーを維持するには、コンテンツ識別子を要求しました

BFEオープンソース版とロードマップの詳細に従う関心のあるユーザーに注意を払うし、喜ば

https://github.com/baidu/bfe、または直接検索githubのログBFEを

BFEフォワーディングエンジンの開発プロセス、技術の蓄積の多くの年後、研究開発のBaiduの罰金の伝統を守ります。BFEは長年のBaiduの操作で安定し、かつ複数の大きな流れの洗礼後にしました。オープンソースコミュニティへの貢献は、重要な方法は、Baiduの技術的価値を反映しています。ネットワークアクセス部門を構築するために、エコ技術から学ぶために同僚と機会のBFEオープンソース、オープンソース技術を取るしたいと考えています。

おすすめ

転載: www.oschina.net/news/111425/bfe-opensouced