Evio is a Go networking framework built around a high-performance event loop (much like libuv or libevent) but tailored for Go, bypassing the standard net package to make direct epoll/kqueue syscalls on supported OSes for maximum throughput. The library is used where ultra-low latency and high packet rates matter (for example, proxy servers or real-time packet handling). It supports TCP, UDP, and UNIX sockets, multiple address binding, and built-in load balancing across event loops (loops can run single-threaded or multi-threaded). The API is minimalist and exposes event hooks such as Data, Opened, Closed, Tick, allowing developers full control. Because of its architecture, Evio is not a drop-in replacement for standard Go's net/http or net packages; itβs aimed at network-heavy, performance-critical use-cases.
Features
- Fast single-threaded or multi-loop event-driven networking
- Low-memory overhead, minimal buffering for high throughput
- Support for TCP, UDP, UNIX domain sockets
- Built-in load-balancing (Random, Round-Robin, Least-Connections) among loops
- Ability to bind multiple addresses into same event loop
- Ticker event hook for scheduled tasks alongside network handling