{"repo":"cloudwego/netpoll","free":true,"listed":false,"github":"https://github.com/cloudwego/netpoll","clone":"git clone https://github.com/cloudwego/netpoll.git","description":"A high-performance non-blocking I/O networking framework focusing on RPC scenarios.","language":"Go","stars":4601,"topics":["rpc","golang","network-programming","net","high-performance"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"CloudWeGo-Netpoll 中文 Introduction [Netpoll][Netpoll] is a high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by [ByteDance][ByteDance]. RPC is usually heavy on processing logic and therefore cannot handle I/O serially. But Go's standard library [net][net] is designed for blocking I/O APIs, so that the RPC framework can only follow the One Conn One Goroutine design. It will waste a lot of cost for context switching, due to a large number of goroutines under high concurrency. Besides, [net.Conn][net.Conn] has no API to check Alive, so it is difficult to make an efficient connection pool for RPC framework, because there may be a large number of failed connections in the pool. On the other hand, the open source community currently lacks Go network libraries that focus on RPC scenarios. Similar repositories such as: [evio][evio], [gnet][gnet], etc., are all focus on scenarios like [Redis][Redis], [HAProxy][HAProxy]. But now, [Netpoll][Netpoll] was born and solved the above problems. It draws inspiration from the design of [evio][evio] and [netty][netty], has excellent Performance, and is more suitable for microservice architecture. Also [Netpoll][Netpoll] provides a number of Features, and it is recommended to replace [net][net] in some RPC scenarios. We developed the RPC framework [Kitex][Kitex] and HTTP framework [Hertz][Hertz] based on [Netpoll][Netpoll], both with industry-leading performance. [Examples][netpoll-examples] show how","default_branch":null,"files":null,"tree":[],"storefront":"/r/cloudwego","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cloudwego/netpoll/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}