tidak
Netpoll adalah kerangka kerja jaringan I/O non-pemblokiran berkinerja tinggi, yang berfokus pada skenario RPC, yang dikembangkan oleh ByteDance.
RPC biasanya berat pada logika pemrosesan dan oleh karena itu tidak dapat menangani I/O secara serial. Namun jaringan perpustakaan standar Go dirancang untuk memblokir API I/O, sehingga kerangka RPC hanya dapat mengikuti desain One Conn One Goroutine. Hal ini akan membuang banyak biaya untuk peralihan konteks, karena banyaknya goroutine yang berada dalam konkurensi tinggi. Selain itu, net.Conn tidak memiliki API untuk memeriksa Alive, sehingga sulit untuk membuat kumpulan koneksi yang efisien untuk kerangka RPC, karena mungkin ada banyak koneksi yang gagal di kumpulan tersebut.
Di sisi lain, komunitas open source saat ini kekurangan perpustakaan jaringan Go yang fokus pada skenario RPC. Repositori serupa seperti: evio, gnet, dll., semuanya fokus pada skenario seperti Redis, HAProxy.
Namun kini, Netpoll lahir dan memecahkan masalah di atas. Ini mengambil inspirasi dari desain evio dan netty, memiliki Performa luar biasa, dan lebih cocok untuk arsitektur layanan mikro. Netpoll juga menyediakan sejumlah Fitur, dan disarankan untuk mengganti net di beberapa skenario RPC.
Kami mengembangkan kerangka RPC Kitex dan kerangka HTTP Hertz berdasarkan Netpoll, keduanya dengan kinerja terdepan di industri.
Contoh menunjukkan cara membangun klien dan server RPC menggunakan Netpoll.
Untuk informasi lebih lanjut, silakan lihat Dokumen.
Sudah
IsActive
mendukung pengecekan apakah koneksi masih hidupDialer
mendukung membangun klienEventLoop
mendukung pembangunan serverMasa depan
Tidak didukung
Tolok ukur harus memenuhi persyaratan penggunaan industri. Dalam skenario RPC, konkurensi dan batas waktu merupakan item dukungan yang diperlukan.
Kami menyediakan proyek netpoll-benchmark untuk melacak dan membandingkan kinerja Netpoll dan kerangka kerja lainnya dalam kondisi berbeda untuk referensi.
Lebih banyak referensi referensi kitex-benchmark dan hertz-benchmark.