Aeraki 是希腊语中“微风”的意思。虽然 Istio 在服务网格中连接微服务,但 Aeraki 提供了一个框架,允许 Istio 支持更多层协议,而不仅仅是 HTTP 和 gRPC。
需要解决的问题
在服务网格方面面临一些挑战:
- Istio 和其他流行的服务网格实现对除 HTTP 和 gRPC 之外的第 7 层协议的支持非常有限。
- Envoy RDS 专为 HTTP 设计。其他协议如 Dubbo 和 Thrift 只能使用侦听器内联路由进行流量管理,当路由发生变化时会中断现有连接。
- 将专有协议引入服务网格需要付出很多努力。
这些障碍使用户很难,甚至不可能管理微服务中其他广泛使用的第 7 层协议的流量。
Aeraki 的做法
为了解决这些问题,Aeraki 框架提供了一种非侵入式、可扩展的方式来管理服务网格中的流量。
如图所示,Aeraki 框架由以下组件组成:
- Aeraki:Aeraki 为操作提供高级、用户友好的流量管理规则,将规则转换为特使过滤器配置,并利用 Istio 的
EnvoyFilter
API 将配置推送到 sidecar 代理。 - MetaProtocol Proxy:MetaProtocol Proxy 为第 7 层协议提供通用能力,例如负载均衡、断路器、负载均衡、路由、速率限制、故障注入和身份验证。
评论