[開源] gev (支援 websocket 啦): Go 實現基於 Reactor 模式的非阻塞網路庫

惜朝發表於2019-10-24

https://github.com/Allenxuxu/gev

[gev](https://github.com/Allenxuxu/gev) 是一個輕量、快速、高效能的基於 Reactor 模式的非阻塞網路庫,底層並不使用 golang net 庫,而是使用 epoll 和 kqueue。

現在它支援 WebSocket 啦!

支援定時任務,延時任務!

⬇️⬇️⬇️

## 特點

- 基於 epoll 和 kqueue 實現的高效能事件迴圈
- 支援多核多執行緒
- 動態擴容 Ring Buffer 實現的讀寫緩衝區
- 非同步讀寫
- SO_REUSEPORT 埠重用支援
- 支援 WebSocket
- 支援定時任務,延時任務

## 效能測試

> 測試環境 Ubuntu18.04
- gev
- gnet
- eviop
- evio
- net (標準庫)

### 吞吐量測試

https://raw.githubusercontent.com/Allenxuxu/gev/master/benchmarks/out/gev11.png

https://raw.githubusercontent.com/Allenxuxu/gev/master/benchmarks/out/gev44.png


倉庫地址: https://github.com/Allenxuxu/gev

相關文章