# easegress-io/easegress

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/easegress-io-easegress).**

5,871 stars · 495 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/easegress-io/easegress
- Homepage: https://megaease.com/easegress/
- awesome-repositories: https://awesome-repositories.com/repository/easegress-io-easegress.md

## Topics

`api-gateway` `cloud-native` `distributed-systems` `etcd` `gateway` `go` `golang` `http` `kubernetes` `load-balancer` `mesh` `microservice` `microservices` `proxy-server` `raft` `reverse-proxy` `service-mesh` `sidecar` `traffic`

## Description

Easegress is a cloud-native traffic orchestration platform that functions as a multi-protocol API gateway and service mesh proxy. It routes, transforms, and orchestrates HTTP and MQTT traffic through configurable filter chains, providing high availability, security controls, and resilience for backend services. The platform integrates with service discovery systems like Kubernetes, Consul, and Eureka to dynamically route traffic to discovered services with automatic failover and health monitoring.

The system distinguishes itself through a pipeline-based filter chain architecture where requests pass through a configurable sequence of processing, routing, and transformation steps. It supports canary and blue-green deployment strategies for safe traffic shifting between service versions, and implements circuit breaker, rate limiting, retry, and timeout mechanisms to protect backend services from cascading failures. Security is enforced through JWT, OAuth2, HMAC signature, and IP filter authentication at the pipeline level, while WebAssembly-based custom filter extensions allow users to run their own code for custom request processing and transformation.

The platform provides traffic observability through metrics collection and visualization of latency, throughput, error rates, and status codes for all traffic flowing through the system. It supports hot-update configuration and binary deployment without dropping active connections, and can proxy requests to AI model providers while adapting between different API formats and optionally caching responses in a vector database.

## Tags

### DevOps & Infrastructure

- [Traffic Orchestration](https://awesome-repositories.com/f/devops-infrastructure/cloud-native-orchestration/traffic-orchestration.md) — Routes and manages HTTP, MQTT, and other protocol traffic with high availability, security, and observability in cloud environments.
- [Canary Deployment Controllers](https://awesome-repositories.com/f/devops-infrastructure/deployment-updates/canary-deployment-controllers.md) — Shifts traffic gradually or instantly between service versions using weighted routing and deployment strategies.
- [High-Availability Instance Redundancy](https://awesome-repositories.com/f/devops-infrastructure/high-availability-instance-redundancy.md) — Distributes traffic across redundant instances and switches to healthy ones automatically when failures occur. ([source](https://megaease.com/easegress))
- [Health-Based Traffic Rerouting](https://awesome-repositories.com/f/devops-infrastructure/high-availability-services/health-based-traffic-rerouting.md) — Monitors backend health and reroutes traffic away from failed instances to maintain continuous service. ([source](https://megaease.com/easegress/))
- [Gateway Rate Limiters](https://awesome-repositories.com/f/devops-infrastructure/request-rate-limiting/gateway-rate-limiters.md) — Applies configurable rate limiters, retries, and timeouts to prevent cascading failures and control traffic flow.
- [Service Meshes](https://awesome-repositories.com/f/devops-infrastructure/service-meshes.md) — Integrates with Kubernetes, Consul, and Eureka service discovery to route traffic with automatic failover and health monitoring.
- [Traffic Management](https://awesome-repositories.com/f/devops-infrastructure/traffic-management.md) — Controls traffic flow between services using canary deployments, circuit breakers, and load balancing strategies for resilient operations.
- [Multi-Protocol Traffic Orchestration](https://awesome-repositories.com/f/devops-infrastructure/traffic-orchestrators/multi-protocol-traffic-orchestration.md) — Routes and manages HTTP, MQTT, and other protocol traffic with high availability and security controls. ([source](https://megaease.com/easegress/))

### Networking & Communication

- [Multi-Protocol Gateways](https://awesome-repositories.com/f/networking-communication/websocket-services/multi-protocol-gateways.md) — Routes and manages HTTP and MQTT traffic through configurable filter chains for authentication, rate limiting, and protocol adaptation.
- [HTTP Traffic Handling](https://awesome-repositories.com/f/networking-communication/http-traffic-handling.md) — Routes and load-balances HTTP requests across backend services to ensure reliable delivery and high availability. ([source](https://megaease.com/easegress/))
- [Load Balancers](https://awesome-repositories.com/f/networking-communication/load-balancers.md) — Distributes incoming requests across multiple backend servers using round-robin, random, or hash-based strategies. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Service Traffic Routing](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management/service-traffic-routing.md) — Shifts traffic between service versions using canary or blue-green deployment patterns without interrupting live traffic.
- [Multi-Protocol Routing](https://awesome-repositories.com/f/networking-communication/network-transport-protocols/multi-protocol-routing.md) — Routes and manages traffic across HTTP, MQTT, and other protocols within a single unified system.
- [Request Distribution Strategies](https://awesome-repositories.com/f/networking-communication/network-transport-protocols/request-distribution-strategies.md) — Splits incoming requests among multiple backend servers using round-robin, IP hash, or other strategies. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Service Discovery Integrations](https://awesome-repositories.com/f/networking-communication/service-discovery-integrations.md) — Connects with registries like Consul, Eureka, and Kubernetes to dynamically route traffic to discovered services.
- [Traffic Orchestration Platforms](https://awesome-repositories.com/f/networking-communication/traffic-orchestration-platforms.md) — An API gateway and traffic management system that routes, transforms, and orchestrates HTTP and MQTT traffic.
- [Traffic Protocol Inspection](https://awesome-repositories.com/f/networking-communication/traffic-protocol-inspection.md) — Directs and manages traffic for HTTP, MQTT, and other protocols within a single system. ([source](https://megaease.com/easegress))
- [Pipeline-Based Filter Chains](https://awesome-repositories.com/f/networking-communication/traffic-routing/pipeline-based-filter-chains.md) — Routes HTTP and MQTT traffic through configurable filter chains for orchestration, security, and resilience. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Revision Traffic Splits](https://awesome-repositories.com/f/networking-communication/traffic-shaping/scaling/traffic-distribution/weighted-traffic-splitting/revision-traffic-splits.md) — Splits traffic between service versions using canary or blue-green release strategies for safe rollouts. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [MQTT Traffic Routing](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/communication-apis/mqtt-message-brokers/mqtt-traffic-routing.md) — Directs incoming MQTT messages to appropriate backend services based on configurable rules. ([source](https://megaease.com/easegress/))
- [MQTT Message Handlers](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/communication-platforms/messaging-middleware/message-handling-systems/mqtt-message-handlers.md) — Manages MQTT protocol connections and message delivery for IoT and real-time communication workloads. ([source](https://megaease.com/easegress))
- [MQTT Clients](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/message-broker-infrastructure/publish-subscribe-messaging/mqtt-clients.md) — Handles MQTT protocol traffic, enabling publish/subscribe messaging patterns for IoT and real-time applications. ([source](https://megaease.com/easegress/))

### Part of an Awesome List

- [Traffic Resilience Policies](https://awesome-repositories.com/f/awesome-lists/security/resilience-and-fault-tolerance/traffic-resilience-policies.md) — Applies circuit breakers, rate limiters, retries, and timeouts to protect backend services from failures and overload. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))

### Graphics & Multimedia

- [Traffic Processing Pipelines](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-streaming-engines/audio-stream-filtering/configurable-filter-chain-pipelines/traffic-processing-pipelines.md) — Passes requests through a configurable sequence of filters for processing, routing, and transformation.
- [Traffic Pipeline Filters](https://awesome-repositories.com/f/graphics-multimedia/custom-processing-filters/traffic-pipeline-filters.md) — Develops new pipeline filters using WebAssembly or high-level programming languages for custom request processing and transformation. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))

### Security & Cryptography

- [Authentication and Authorization](https://awesome-repositories.com/f/security-cryptography/authentication-and-authorization.md) — Validates requests using JWT, OAuth2, HMAC signatures, IP filters, and static HTTPS certificates. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Request Signature Verification](https://awesome-repositories.com/f/security-cryptography/authentication-and-authorization/request-signature-verification.md) — Checks requests using JWT, OAuth2, HMAC signatures, IP filters, and static HTTPS certificates. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Security and Access Control](https://awesome-repositories.com/f/security-cryptography/security-and-access-control.md) — Checks request identity and permissions using JWT, OAuth2, HMAC signatures, IP filters, and HTTPS certificates.
- [Traffic Security Policies](https://awesome-repositories.com/f/security-cryptography/security-policy-controllers/traffic-security-policies.md) — Applies security rules such as rate limiting, IP whitelisting, and authentication to protect backend services from abuse. ([source](https://megaease.com/easegress/))
- [JWT Authentications](https://awesome-repositories.com/f/security-cryptography/token-authentication/jwt-authentications.md) — Verifies request identity and permissions using JWT, OAuth2, HMAC signatures, and IP filters at the pipeline level.

### Software Engineering & Architecture

- [Cascading Failure Preventions](https://awesome-repositories.com/f/software-engineering-architecture/cascading-failure-preventions.md) — Applies circuit breakers, rate limiters, retries, and timeouts to prevent cascading failures across backend services. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Circuit Breakers](https://awesome-repositories.com/f/software-engineering-architecture/circuit-breakers.md) — Protects backend services by automatically stopping traffic to failing instances and retrying after a cooldown period.
- [Request-Response Filter Chains](https://awesome-repositories.com/f/software-engineering-architecture/interceptor-sequences/request-response-filter-chains.md) — Passes requests through a configurable sequence of filters for processing, routing, and transformation. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Service Overload Protections](https://awesome-repositories.com/f/software-engineering-architecture/service-overload-protections.md) — Applies circuit breakers, rate limiters, retries, and timeouts to prevent cascading failures and keep backend services running.
- [API Aggregators](https://awesome-repositories.com/f/software-engineering-architecture/api-aggregators.md) — Combines results from multiple APIs or orchestrates sequences of API calls into a single response. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))

### Web Development

- [HTTP Request Handlers](https://awesome-repositories.com/f/web-development/backend-development/web-frameworks/routing-request-handling/http-request-handlers.md) — Sends incoming HTTP requests to the correct backend service based on configurable rules and conditions. ([source](https://megaease.com/easegress))
- [Traffic Control Policies](https://awesome-repositories.com/f/web-development/traffic-control-policies.md) — Applies authentication, rate limiting, and access control policies to secure traffic flow. ([source](https://megaease.com/easegress/))
- [Fault-Tolerant](https://awesome-repositories.com/f/web-development/traffic-routing/fault-tolerant.md) — Keeps traffic flowing and orchestration working continuously even when individual components fail. ([source](https://megaease.com/easegress/))

### Data & Databases

- [External System Integrations](https://awesome-repositories.com/f/data-databases/external-system-integrations.md) — Connects with Kubernetes, service registries, serverless platforms, and distributed tracing backends to extend functionality. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))

### Development Tools & Productivity

- [Live Configuration Updates](https://awesome-repositories.com/f/development-tools-productivity/configuration-updates/tooling-configuration-updaters/engine-binary-updates/live-configuration-updates.md) — Updates configuration and binary in place without dropping active connections. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))

### Programming Languages & Runtimes

- [Traffic Pipeline Filters](https://awesome-repositories.com/f/programming-languages-runtimes/generator-functions/function-execution-models/webassembly-function-execution/traffic-pipeline-filters.md) — Runs user-developed WebAssembly code inside the traffic pipeline to perform custom processing and transformation. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Traffic Pipeline Filters](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/webassembly/embedded-webassembly-runtimes/extensible-webassembly-runtimes/traffic-pipeline-filters.md) — Runs user-developed WebAssembly code as custom filters within the traffic processing pipeline.

### System Administration & Monitoring

- [Metric and Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors.md) — Collects and visualizes latency percentiles, throughput, error rates, and status codes for traffic and nodes. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Request Traffic Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/operational-health-alerting/health-monitoring-endpoints/request-traffic-monitors.md) — Collects and displays throughput, latency, error rates, and status codes for each node and traffic type. ([source](https://cdn.jsdelivr.net/gh/easegress-io/easegress@main/README.md))
- [Client Traffic Metrics](https://awesome-repositories.com/f/system-administration-monitoring/status-monitors/client-traffic-metrics.md) — Collects and visualizes latency, throughput, error rates, and status codes for all traffic flowing through the system.
- [Traffic Monitoring Tools](https://awesome-repositories.com/f/system-administration-monitoring/traffic-monitoring-tools.md) — Collects and exposes metrics, logs, and traces for all traffic flowing through the system. ([source](https://megaease.com/easegress/))
