同步操作将从 CloudWeGo/netpoll 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Netpoll is a high-performance non-blocking I/O networking framework, which focused on RPC scenarios, developed by ByteDance.
RPC is usually heavy on processing logic and therefore cannot handle I/O serially. But Go's standard library 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 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, gnet, etc., are all focus on scenarios like Redis, HAProxy.
But now, Netpoll was born and solved the above problems. It draws inspiration from the design of evio and netty, has excellent Performance, and is more suitable for microservice architecture. Also Netpoll provides a number of Features, and it is recommended to replace net in some RPC scenarios.
We developed the RPC framework Kitex and HTTP framework Hertz based on Netpoll, both with industry-leading performance.
Examples show how to build RPC client and server using Netpoll.
For more information, please refer to Document.
Already
IsActive
supports checking whether the connection is aliveDialer
supports building clientsEventLoop
supports building a serverFuture
Unsupported
Benchmark should meet the requirements of industrial use. In the RPC scenario, concurrency and timeout are necessary support items.
We provide the netpoll-benchmark project to track and compare the performance of Netpoll and other frameworks under different conditions for reference.
More benchmarks reference kitex-benchmark and hertz-benchmark.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。