Route API traffic to multiple backends and merge their responses into one reply for the caller
Run canary releases by sending a small percentage of traffic to a new service version before full rollout
Add rate limiting and circuit breakers to existing services without modifying their code
Proxy requests to OpenAI or Anthropic and translate between different LLM API formats
Requires running one or more Go binary nodes, multi-node clustering needs coordinated networking and Raft quorum setup.
Easegress is a traffic routing and management system for applications running in cloud environments. Think of it as a programmable gateway that sits in front of your backend services and controls how incoming requests reach them. At its core, Easegress works like a reverse proxy: requests arrive at the gateway and get forwarded to the appropriate backend service based on rules you define (URL path, HTTP method, headers, client IP address, and so on). Where it goes beyond a basic proxy is in the processing layers it adds between receiving a request and passing it along. Those layers include rate limiters that cap how many requests a service receives per second, circuit breakers that temporarily stop routing to a service that is returning errors, and retry logic that re-sends failed requests automatically. Easegress also supports deployment strategies like blue-green switching (flip all traffic from one version of a service to another at once) and canary releases (send a small percentage of traffic to a new version to test it before a full rollout). It also handles API aggregation, where a single incoming request can be fanned out to multiple backend services and the results merged before sending a response. Security features built in include JWT verification, OAuth2 validation, HMAC request signing, automatic TLS certificate management via Let's Encrypt, and IP-based access control. Observability comes through built-in OpenTelemetry tracing and detailed traffic statistics covering throughput, latency percentiles, and HTTP status code breakdowns. The system is built in Go and uses a Raft consensus mechanism for clustering, so you can run multiple nodes and they will automatically elect a leader and maintain consistency. More recently, Easegress added AI-specific routing: it can proxy requests to LLM providers like OpenAI and Anthropic and translate between different API formats. Configuration happens through a command-line tool called egctl, a web-based portal, or standard HTTP clients. The system can also be extended with WebAssembly, letting you write custom processing filters in any language that compiles to WASM.
← easegress-io on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.