FPNNの一文要約:
誰も車輪の再発明を望んでいません。
しかし、すべての車輪が機能しない場合はどうすればよいでしょうか?
Thrift を使用した以前のプロジェクトではあまりにも多くの落とし穴に遭遇したという事実を考慮して、Thrift 自体の問題の解決に多くのリソースが費やされました。
企業のインフラストラクチャ ツールの準備と技術の蓄積に基づいて、ICE、ACE、Codra などの有名な RPC フレームワークを使用したこれまでの経験と組み合わせて、企業のビジネスとインフラストラクチャにより適した RPC フレームワークを開発することにしました。 。
最適なホイールというものはなく、唯一存在するのは最適なホイールです。
RPC フレームワークについても同様です。
IPv4をサポート
IPv6をサポート
TCPバイナリプライベートプロトコルをサポート
UDPバイナリプライベートプロトコルをサポート
信頼性の高い UDP リンクをサポート
信頼できる UDP データと信頼できない UDP データの混在送信をサポート
HTTP 1.1 のサポート (オプションのサポート)
WebSocketのサポート
SSL/TLSをサポート
msgpackエンコーディングをサポート
Json形式をサポート
オプションのパラメータをサポート
不定型パラメータのサポート
可変長および可変型パラメータのサポート
インターフェースのグレースケール互換性をサポート
TCPバイナリプライベートプロトコルとHTTP Json形式変換をサポート
サポートサーバープッシュ
非同期操作のサポート
同期操作をサポート
Lambda関数をサポート
システムレベルパラメータの動的な調整をサポート
フレームワークレベルのパラメータの動的な調整をサポート
サービス実行ステータスのリアルタイム表示をサポート
各パラメータステータスのリアルタイム表示をサポート
フェイルオーバーのサポート
統合ログのサマリーをサポート
正常な終了のサポート
例外の統一処理をサポートする
同じポート上で複数のプロトコル (TCP/HTTP/WebSocket) をサポート
応答の早期返信をサポートする
応答の非同期返信をサポートします
サポートリクエストの応答時間統計
QPS統計のサポート
遅いリクエストの統計をサポートする
システム組み込みコマンドの優先実行をサポート
AES暗号化をサポート
ECDH キー交換をサポート
128 ビットまたは 256 ビットのキーをサポート
IPホワイトリストをサポート
IPセグメントのホワイトリストをサポート
ユーザー定義インターフェースにアクセスする際の暗号化制限のサポート
ユーザー定義インターフェイスにアクセスする際のイントラネット制限のサポート
FPNNテクノロジーエコシステムでは、以下の追加機能が提供されます
ストレス テスト (v1.0.0):
TCPデータの概要
同一LAN
モデル | 仮想CPU | メモリ (GB) | リンク数 | QPS | 平均応答時間 (usec) |
---|---|---|---|---|---|
AWS m5.xlarge | 4 | 16 | 1000 | 49,708 | 335 |
--- | --- | --- | --- | --- | --- |
AWS m5.xlarge | 4 | 16 | 130 | 227,919 | 12,854 |
AWS m5.xlarge | 4 | 16 | 1,500 | 148,959 | 10,403 |
AWS m5.xlarge | 4 | 16 | 2,000 | 99,552 | 356 |
AWS m5.xlarge | 4 | 16 | 3,000 | 149,615 | 27,456 |
大陸間感染: ドイツのフランクフルトから米国西部のオレゴンまで
モデル | 仮想CPU | メモリ (GB) | リンク数 | QPS | 平均応答時間 (usec) | ping/2 (ミリ秒) |
---|---|---|---|---|---|---|
AWS m5.xlarge | 4 | 16 | 10 | 17,921 | 147,825 | 137 |
--- | --- | --- | --- | --- | ---- | --- |
AWS m5.xlarge | 4 | 16 | 190 | 338,601 | 151,772 | 139 |
AWS m5.xlarge | 4 | 16 | 700 | 339,240 | 183,541 | 136~137 |
AWS m5.xlarge | 4 | 16 | 3,200 | 312,073 | 256,980 | 139~141 |
AWS m5.xlarge | 4 | 16 | 6,000 | 299,175 | 346,927 | 136~137 |
UDP データの概要
同一LAN
モデル | 仮想CPU | メモリ (GB) | リンク数 | QPS | 平均応答時間 (usec) |
---|---|---|---|---|---|
AWS m5.xlarge | 4 | 16 | 10 | 17,628 | 199 |
--- | --- | --- | --- | --- | --- |
AWS m5.xlarge | 4 | 16 | 70 | 123,009 | 1,174 |
AWS m5.xlarge | 4 | 16 | 80 | 122,641 | 24,623 |
AWS m5.xlarge | 4 | 16 | 800 | 73,030 | 1,306 |
AWS m5.xlarge | 4 | 16 | 200 | 95,894 | 400 |
AWS m5.xlarge | 4 | 16 | 1,000 | 49,590 | 3,832 |
大陸間感染: ドイツのフランクフルトから米国西部のオレゴンまで
モデル | 仮想CPU | メモリ (GB) | リンク数 | QPS | 平均応答時間 (usec) | ping/2 (ミリ秒) |
---|---|---|---|---|---|---|
AWS m5.xlarge | 4 | 16 | 100 | 48,493 | 138,859 | 138 |
--- | --- | --- | --- | --- | ---- | --- |
AWS m5.xlarge | 4 | 16 | 60 | 107,528 | 139,968 | 140 |
AWS m5.xlarge | 4 | 16 | 800 | 79,503 | 139,974 | 138~139 |
大規模リンク (v1.0.0):
TCPデータの概要
モデル | 仮想CPU | メモリ (GB) | リンク数 | QPS | 平均応答時間 (usec) |
---|---|---|---|---|---|
AWS m5.2xlarge | 8 | 32 | 2,040,000 | 81,351 | 446 |
AWS m5.2xlarge | 8 | 32 | 2,040,000 | 137,294 | 4,985 |
AWS m5.2xlarge | 8 | 32 | 2,040,000 | 179,794 | 11,345 |
UDP データの概要
モデル | 仮想CPU | メモリ (GB) | リンク数 | QPS | 平均応答時間 (usec) |
---|---|---|---|---|---|
AWS m5.2xlarge | 8 | 32 | 12,200 | 5,957 | 11,480 |
AWS m5.2xlarge | 8 | 32 | 19,000 | 721 | 1,857 |
具体的なパフォーマンスの紹介とその他のデータについては、FPNN パフォーマンス レポートを参照してください。
環境ニーズ
オペレーティング·システム | コンパイラ |
---|---|
CentOS 7 | GCC/G++ 4.8.5 |
CentOS 8 | GCC/G++ 8 |
Ubuntu 20 | GCC/G++ 9 |
MacOS 11.5 | XCode/Apple Clang 12 |
サードパーティライブラリの依存関係
FPNN フレームワークをコンパイルしてインストールする
プロジェクトのルートディレクトリでmake
を実行するだけです。
詳細については、「FPNN のインストールと統合」を参照してください。
FPNNフレームワークを使用して開発
見る
注意事項とトラブルシューティング
注意事項についてはFPNNの注意事項をご参照ください。
トラブルシューティングについては、FPNN のトラブルシューティングを参照してください。
ベストプラクティス
中国文書索引