Easegress全功能型流量调度和编排系统
Easegress 是一个云原生流量编排系统,设计用于:
- 高可用性:内置的 Raft 共识和领导者选举提供 99.99% 的可用性。
 - 流量编排:对每个流量管道的各种过滤器进行简单的编排。
 - 高性能:轻量级和基本功能可加快性能。
 - 可观察性:以可读的方式周期性地有许多有意义的统计数据。
 - 可扩展性:使用高级编程语言可以轻松开发自己的过滤器或控制器。
 - 集成:简单的接口使其易于与其他系统集成,例如 Kubernetes Ingress、EaseMesh sidecar、Workflow 等。
 
Easegress 的基本常见用法是为后端服务器快速设置代理。
Easegress 的架构:
特性:
-  服务管理 
  
-  多种协议: 
    
- HTTP/1.1
 - HTTP/2
 - HTTP/3(QUIC)
 - MQTT(即将推出)
 
 - 丰富的路由规则:精确路径、路径前缀、路径的正则表达式、方法、标头。
 -  弹性和容错 
    
- 断路器:暂时阻断可能的故障。
 - 速率限制器:限制传入请求的速率。
 - 重试器:重复失败的执行。
 - 时间限制器:限制执行的持续时间。
 
 -  部署管理 
    
- 蓝绿策略:一次切换流量。
 - Canary 策略:稍微安排流量。
 
 -  API 管理 
    
- API聚合:聚合多个API的结果。
 - API 编排:编排API的流程。
 
 - 安全
 -  管道过滤机制 
    
- 责任链模式:编排过滤器链。
 - 过滤器管理:使开发新过滤器变得容易。
 
 -  服务网格 
    
- Mesh Master:是管理网格服务生命周期的控制平面。
 - Mesh Sidecar:以数据平面为端点,做流量拦截和路由。
 -  Mesh Ingress Controller:是特定于网格的入口控制器,用于将外部流量路由到网格服务。 
      
注意:此功能由EaseMesh利用
 
 -  第三方集成 
    
- FaaS与无服务器平台 Knative 集成。
 - 服务发现与 Eureka、Consul、Etcd 和 Zookeeper 集成。
 - 入口控制器作为入口控制器与 Kubernetes 集成。
 
 
 -  多种协议: 
    
 -  可扩展性 
  
- WebAssembly执行用户开发的WebAssembly代码。
 
 -  高性能和可用性 
  
- 适应:在处理链中适应请求、响应。
 - 验证:标头验证、OAuth2、JWT 和 HMAC 验证。
 - 负载均衡:循环、随机、加权随机、ip 哈希、头部哈希。
 - 缓存:用于后端服务器。
 - 压缩:压缩响应体。
 - 热更新:在不丢失连接的情况下更新 Easegress 的配置和二进制文件。
 
 -  Operation 
  
-  易于集成:命令行( 
egctl)、MegaEase Portal、HTTP 客户端如 curl、postman 等。 -  分布式追踪 
    
- 内置开放式 Zipkin
 - 供应商中立 API 的开放跟踪
 
 -  可观察性 
    
- 节点:角色(leader、writer、reader)、健康与否、上次心跳时间等
 -  流量:多维度:服务器和后端。 
      
- 吞吐量:请求计数、TPS/m1、m5、m15、错误百分比等的总数和错误统计。
 - 延迟: p25、p50、p75、p95、98、p99、p999。
 - 数据大小:请求和响应大小。
 - 状态代码: HTTP 状态代码。
 - TopN:按聚合API排序(仅在服务器维度)。
 
 
 
 -  易于集成:命令行( 
 
评论
