Ringkasan satu kalimat FPNN:
Tidak ada yang mau menemukan kembali roda.
Namun apa yang harus Anda lakukan jika semua roda tidak berfungsi?
Mengingat fakta bahwa proyek-proyek sebelumnya yang menggunakan Thrift menemui terlalu banyak kendala, banyak sumber daya yang dihabiskan untuk memecahkan masalah Thrift itu sendiri.
Berdasarkan persiapan dan akumulasi teknis perangkat infrastruktur perusahaan, dikombinasikan dengan pengalaman sebelumnya dalam menggunakan kerangka RPC terkenal seperti ICE, ACE, dan Codra, kami memutuskan untuk mengembangkan kerangka RPC yang lebih sesuai untuk bisnis dan infrastruktur perusahaan. .
Tidak ada roda yang terbaik, yang ada hanya roda yang paling cocok.
Hal yang sama berlaku untuk kerangka RPC.
Mendukung IPv4
Mendukung IPv6
Mendukung protokol pribadi biner TCP
Mendukung protokol pribadi biner UDP
Mendukung tautan UDP yang andal
Mendukung pengiriman campuran data UDP yang andal/tidak dapat diandalkan
Mendukung HTTP 1.1 (dukungan opsional)
Mendukung WebSocket
Mendukung SSL/TLS
Mendukung pengkodean msgpack
Mendukung format JSON
Mendukung parameter opsional
Mendukung parameter tipe tidak terbatas
Mendukung parameter panjang variabel dan tipe variabel
Mendukung kompatibilitas antarmuka skala abu-abu
Mendukung protokol pribadi biner TCP dan konversi format HTTP Json
Dukungan Server Dorong
Mendukung operasi asinkron
Mendukung operasi sinkron
Mendukung fungsi Lambda
Mendukung penyesuaian dinamis parameter tingkat sistem
Mendukung penyesuaian dinamis parameter tingkat kerangka kerja
Mendukung tampilan status layanan yang berjalan secara real-time
Mendukung tampilan real-time dari setiap status parameter
Mendukung kegagalan
Mendukung ringkasan log terpadu
Mendukung jalan keluar yang anggun
Mendukung penanganan pengecualian secara terpadu
Mendukung banyak protokol (TCP/HTTP/WebSocket) pada port yang sama
Mendukung pengembalian respons dini
Mendukung pengembalian respons yang tidak sinkron
Mendukung statistik waktu respons permintaan
Mendukung statistik QPS
Mendukung statistik permintaan lambat
Mendukung eksekusi prioritas perintah bawaan sistem
Mendukung enkripsi AES
Mendukung pertukaran kunci ECDH
Mendukung kunci 128-bit atau 256-bit
Mendukung daftar putih IP
Mendukung daftar putih segmen IP
Mendukung pembatasan enkripsi saat mengakses antarmuka yang ditentukan pengguna
Mendukung pembatasan intranet saat mengakses antarmuka yang ditentukan pengguna
Dalam ekosistem teknologi FPNN, disediakan fungsi tambahan sebagai berikut
Tes stres (v1.0.0):
Ringkasan data TCP
LAN yang sama
model | CPU maya | Memori (GB) | Jumlah tautan | QPS | Waktu respons rata-rata (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 |
Penularan antarbenua: Frankfurt, Jerman ke Oregon, Amerika Serikat Bagian Barat
model | CPU maya | Memori (GB) | Jumlah tautan | QPS | Waktu respons rata-rata (usec) | ping/2 (mdetik) |
---|---|---|---|---|---|---|
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 |
Ringkasan data UDP
LAN yang sama
model | CPU maya | Memori (GB) | Jumlah tautan | QPS | Waktu respons rata-rata (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 |
Penularan antarbenua: Frankfurt, Jerman ke Oregon, Amerika Serikat Bagian Barat
model | CPU maya | Memori (GB) | Jumlah tautan | QPS | Waktu respons rata-rata (usec) | ping/2 (mdetik) |
---|---|---|---|---|---|---|
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 |
Tautan besar (v1.0.0):
Ringkasan data TCP
model | CPU maya | Memori (GB) | Jumlah tautan | QPS | Waktu respons rata-rata (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 |
Ringkasan data UDP
model | CPU maya | Memori (GB) | Jumlah tautan | QPS | Waktu respons rata-rata (usec) |
---|---|---|---|---|---|
AWS m5.2xlarge | 8 | 32 | 12.200 | 5.957 | 11.480 |
AWS m5.2xlarge | 8 | 32 | 19.000 | 721 | 1.857 |
Untuk pengenalan kinerja spesifik dan data lebih lanjut, silakan lihat laporan kinerja FPNN
kebutuhan lingkungan
sistem operasi | penyusun |
---|---|
CentOS7 | GCC/G++ 4.8.5 |
CentOS 8 | GCC/G++8 |
Ubuntu 20 | GCC/G++ 9 |
macOS 11.5 | XCode/Apple dentang 12 |
Ketergantungan perpustakaan pihak ketiga
Kompilasi dan instal kerangka FPNN
Jalankan saja make
di direktori root proyek.
Untuk detailnya, lihat instalasi dan integrasi FPNN
Dikembangkan menggunakan kerangka FPNN
Melihat
Catatan & Pemecahan Masalah
Silakan merujuk ke Catatan FPNN untuk tindakan pencegahan.
Untuk pemecahan masalah, silakan lihat Pemecahan Masalah FPNN
praktik terbaik
Indeks dokumen Tiongkok