MCPcopy Index your code
hub / github.com/easegress-io/easegress

github.com/easegress-io/easegress @v2.11.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.11.0 ↗ · + Follow
5,758 symbols 22,183 edges 552 files 2,664 documented · 46% 155 cross-repo links updated 8d agov2.11.0 · 2026-03-18★ 5,8738 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Easegress

Go Report Card GitHub Workflow Status (branch) codecov Docker pulls License GitHub go.mod Go version Join Easegress Slack

Easegress logo

Easegress 简介

Easegress是一个云原生流量协调系统,具有以下特性:

  • 高可用性: 内置 Raft 共识和选举算法,提供 99.99% 的可用性。
  • 流量编排: 支持多种流量过滤器,轻松编排流量处理流程(Pipeline)。
  • 高性能: 基础功能采用轻量级方法实现,性能优异。
  • 可观察性: 周期性报告多种统计数据,系统状态尽在掌握。
  • 可扩展性: 良好的 API 设计,不必知道底层细节,也能自己开发过滤器和控制器。
  • 集成性: 接口简单,易于与其他系统集成,如: Kubernetes Ingress Controller、EaseMesh 边车、工作流等。

下面是其架构图:

架构

你可以查看 Easegress DeepWiki页面,了解更多详细信息。

功能

  • 服务管理
  • 支持多种协议
    • HTTP/1.1
    • HTTP/2
    • HTTP/3(QUIC)
    • MQTT
  • 路由规则:精确路径、路径前缀、路径的正则表达式、方法、标头、客户端IP地址。
  • 弹性和容错
    • 断路器: 暂时阻止可能的故障。
    • 速率限制: 限制请求的速率。
    • 重试:重试失败的请求。
    • 时间限制:限制请求的执行时间。
  • 部署管理
    • 蓝绿部署:一次性切换流量。
    • 金丝雀部署:按着色编排流量。
  • API管理
    • API聚合:聚合多个API的结果。
    • API编排:编排API的处理流程。
  • 安全
    • IP过滤:限制对IP地址/地址段的访问。
    • 静态HTTPS:静态证书文件。
    • API签名:支持 HMAC 验证。
    • JWT验证:验证 JWT Token
    • OAuth2:验证 OAuth/2 请求。
    • Let's Encrypt: 自动管理证书文件。
  • 管道过滤机制
    • 过滤器管理:轻松开发新过滤器。
  • 服务网格
    • 网格主控:是管理网格服务生命周期的控制平面。
    • 边车:是数据平面,作为端点进行流量拦截和路由。
    • 网格入口控制器:是针对网格的入口控制器,将外部流量路由到网格服务。 > 注意,EaseMesh使用了此功能。
  • 第三方的集成
    • FaaS:与 ServerLess 平台 Knative 集成。
    • 服务发现:与 Eureka、Consul、Etcd 和 Zookeeper 集成。
    • 入口控制器:与 Kubernetes 集成,作为入口控制器。
  • 扩展性
  • WebAssembly:执行用户开发的 WebAssembly 代码。
  • 高性能和可用性
  • 改编:使用过滤器改编请求和应答。
  • 验证:标头验证、OAuth2、JWT 和 HMAC 验证。
  • 负载平衡:轮询、随机、加权随机、IP哈希、标头哈希,支持会话锁定。
  • 缓存:缓存后端服务的应答,减少对后端服务的请求量。
  • 压缩:减少应答数据的体积。
  • 热更新:线上更新 Easegress 的配置和二进制文件,服务不中断。
  • 操作
  • 易于集成:命令行(egctl)、Easegress Portal,以及 HTTP 客户端,如 curl、postman 等。
  • 分布式跟踪
  • 可观察性
    • 节点:角色(primary、secondary)、是不是Leader,健康状态、最后一次心跳时间,等等。
    • 多维度的服务器和后端流量数据
    • 吞吐量:请求数、TPS/m1、m5、m15 和错误百分比等。
    • 延迟:p25、p50、p75、p95、p98、p99、p999。
    • 数据大小:请求和响应大小。
    • 状态代码:HTTP状态代码。
    • TopN:按 API 聚合并排序(仅服务器维度)。
  • AI 集成
  • 代理: 支持将请求代理到 LLM 提供商,如 OpenAI、DeepSeek、Anthropic 等。
  • Anthropic API 适配: 将 Anthropic API 的请求和响应适配为 OpenAI 格式。
  • 向量数据库: 集成向量数据库以实现缓存。
  • 监控: 提供对 AI 模型性能和使用情况的监控。

用户案例

下面的例子展示了如何在不同场景下使用 Easegress。

完整的列表请参见 TutorialsCookbook

入门

文档

社区

许可证

Easegress 采用 Apache 2.0 许可证。详见 LICENSE 文件。

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 3,064
Function 1,704
Struct 813
Interface 70
TypeAlias 61
FuncType 46

Languages

Go100%

Modules by API surface

pkg/object/meshcontroller/informer/informer.go84 symbols
pkg/object/meshcontroller/service/service.go68 symbols
pkg/filters/wasmhost/hostfunc.go59 symbols
pkg/object/mqttproxy/mock_test.go55 symbols
pkg/object/mqttproxy/mqtt_test.go52 symbols
pkg/object/trafficcontroller/trafficcontroller.go43 symbols
pkg/tracing/tracing.go42 symbols
pkg/util/signer/signer.go41 symbols
pkg/object/serviceregistry/serviceregistry.go41 symbols
pkg/object/meshcontroller/spec/spec.go40 symbols
pkg/object/serviceregistry/watcher.go39 symbols
pkg/object/mqttproxy/broker.go39 symbols

Dependencies from manifests, versioned

contrib.go.opencensus.io/exporter/ocagentv0.7.1-0.20200907061 · 1×
contrib.go.opencensus.io/exporter/prometheusv0.4.2 · 1×
dario.cat/mergov1.0.1 · 1×
github.com/ArthurHlt/go-eureka-clientv1.1.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azcorev1.8.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azidentityv1.4.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/internalv1.4.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdnsv1.1.0 · 1×
github.com/Azure/go-ansitermv0.0.0-2021061722524 · 1×
github.com/AzureAD/microsoft-authentication-library-for-gov1.2.0 · 1×
github.com/GehirnInc/cryptv0.0.0-2023032006175 · 1×
github.com/Masterminds/goutilsv1.1.1 · 1×

Datastores touched

postgresDatabase · 1 repos

For agents

$ claude mcp add easegress \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page