- 高性能HTTPリバースプロキシアプリケーションを開発するための新しいオープンソースツールキットは、YARPとして知られています。
- LinuxとWindowsの両方で動作し、セキュリティや負荷分散などに使用できます。
- YARPは、送信先を決定する前に、すべての着信ネットワークトラフィックをチェックします。
- ツールキットには、リバースプロキシの実用性を追加するためにアプリケーションで修正できるライブラリが付属しています。

マイクロソフトは、高性能を開発するための新しいオープンソースツールキットをリリースしました HTTPリバースプロキシ アプリケーション。 YARP(Yet Another Reverse Proxy)はC ++で記述されており、WindowsおよびLinuxで実行されます。
開発者は使用できます YARP HTTPサーバーの負荷分散、ルーティング、キャッシング、圧縮、TLSターミネーション、およびロギングを提供します。 また、レート制限やリクエストフィルタリングなどのセキュリティ機能を提供するためにも使用できます。
YARPは、拡張性が高くなるようにも設計されています。システム内のコアの数に応じて拡張できる非同期モデルを使用します。 各HTTPストリームまたはWebSocket接続は、個別のスレッドワーカーによって処理されます。
それは何ですか?
HTTPリバースプロキシは、サーバーへのすべての着信トラフィックを取り込み、各要求を分析し、要求を1つ以上のバックエンドサーバーに透過的にプロキシするコンポーネントです。
リバースプロキシは、着信要求からの負荷を複数のサーバーに分散して、システム全体のパフォーマンスを向上させることができます。
YARPは、高性能HTTPリバースプロキシアプリケーションを開発するためのオープンソースツールキットです。
本番環境に対応し、十分にテストされたソリューションとして、導入と管理が容易になり、 新しいハードウェア、OS機能、およびその他の可能性を活用するのに十分な拡張性 改善。
それはどのように機能しますか?
リバースプロキシアプリケーションがどのように機能するのか疑問に思われるかもしれません。
簡単に言うと、リバースプロキシアプリケーションは、クライアントと他のサーバーの間の仲介サーバーとして機能します。
すべての着信ネットワークトラフィックを傍受し、着信要求を調べて、送信先を決定します。
さらに別のリバースプロキシ(YARP)と呼ばれるMicrosoftの新しいツールキットは、高性能のHTTPリバースプロキシアプリケーションを対象としています。
YARPには、独自のリバースプロキシアプリケーションの開発とテストに必要なすべてのコンポーネントが含まれています。
その機能は何ですか?
YARPのコア機能は次のとおりです。
- クロスプラットフォームビルド(Windows、Linux、OS X)およびiOSやAndroidなどのモバイルデバイスのサポート。
- さまざまなプラットフォーム間で接続を効率的に処理するための非同期I / Oの使用。
- カスタムモジュールやその他のサードパーティの拡張機能をサポートするプラグインAPI。
- いくつかの組み込みプラグイン:静的ファイル配信、gzip圧縮、URL書き換え、負荷分散など。
- アプリケーションのパフォーマンスをデバッグするための便利なツール。
あなたがそれについて知る必要があること
Microsoftは、高性能HTTP負荷分散用に設計されたリバースプロキシであるYARPをリリースしました。ここでは、YARPについて知っておく必要のある重要な事項をいくつか紹介します。
- このソフトウェアはオープンソースであり、HTTPアプリケーションのパフォーマンス、セキュリティ、信頼性、およびスケーラビリティを向上させるために使用できます。
- ツールキットは、リバースプロキシ機能を追加するためにアプリケーションに埋め込むことができるライブラリを提供します。
- プロジェクトのGitHubリポジトリには、YARPライブラリを使用したサンプルアプリケーションが含まれています。 このアプリケーションは、Dockerイメージとしても利用できます。
- YARPはMicrosoftEdgeチームによって開発され、ネイティブのコードベースのリバースプロキシサービスを構築するためにMicrosoftの内部で使用されました。
- ツールキットには、ルーティング、トランスポートの最適化、圧縮、キャッシュ、ロギングなど、すべてのHTTPリクエストとレスポンスを処理するランタイムが含まれています。 また、ランタイムを構成するためのAPIと、統計をリアルタイムで表示するWebベースのダッシュボードも含まれています。
YARPツールキットについてどう思いますか? それはあなたが使うものですか? コメント欄でお知らせください。