探索微服务中的自由风——Aeraki Mesh
aerakiManage any layer-7 protocols in a Service Mesh.项目地址:https://gitcode.com/gh_mirrors/ae/aeraki
在微服务的世界里,服务间通信是核心。然而,当大部分的注意力集中在HTTP和gRPC上时,其他如Dubbo、Thrift等层7协议却常常被忽视。这便是Aeraki Mesh要解决的问题。Aeraki(艾拉基),源自希腊语,意为“清新的微风”,它将带来一股清流,让你的服务网格全面管理任何层7流量。
革新式的服务网格管理
Aeraki Mesh是一个非侵入式的、高度可扩展的服务网格解决方案,专为处理除HTTP以外的层7协议而设计。目前,它与Istio无缝集成,并计划在未来支持更多服务网格平台。通过Aeraki,你可以轻松地管理从简单的RPC到复杂的消息队列、缓存以及数据库的所有流量。
技术剖析
Aeraki由两部分构成:
-
Aeraki控制面: 提供直观的流量管理规则,将这些规则转换成Envoy过滤器配置,并借助Istio的
EnvoyFilter
API推送到sidecar代理中。Aeraki还作为MetaProtocol Proxy的动态路由服务器,提供对所有层7协议的支持。 -
MetaProtocol Proxy: 这是一个通用的层7协议处理组件,包括负载均衡、熔断、路由、限速、故障注入和身份验证等功能。只需实现编码接口,你就可以将任意层7协议整合进服务网格中。如果需要更定制化的功能,MetaProtocol Proxy允许你添加自定义的应用级过滤链。
Aeraki已经实现了Dubbo、Thrift、bRPC等多种协议,并且对于拥有私有协议的组织,实现MetaProtocol也极其简单。
应用场景
Aeraki适用于广泛的应用场景,包括但不限于:
- 微服务架构中多种层7协议共存的情况
- 拥有大量非HTTP层7服务的企业系统
- 希望充分利用现有服务网格优势,但被协议限制的团队
- 正在寻找简单方法将私有或专有协议纳入服务网格管理的开发者
突出特性
- 全方位协议支持: 支持Dubbo、Thrift、Kafka、Redis等常见协议,以及基于MetaProtocol的自定义协议。
- 强大功能集: 包括负载均衡、熔断策略、动态路由、版本路由、流量拆分、本地限速、全局限速等。
- 出色观测性: 提供请求级别的指标、分布式追踪和访问日志。
- 安全特性: 实现接口/方法的同行认证,并正在开发请求授权功能。
开始你的旅程
想要亲自体验Aeraki的魅力?快速入门指南将引导你完成部署过程。若想参与构建,确保安装了Golang和Docker环境,然后按照构建说明进行操作。
Aeraki不仅仅是一个工具,它是释放服务网格潜力的钥匙,让每一种层7协议都能在微服务环境中自由流动。现在就加入我们,让Aeraki为你的服务带来清新之风。
aerakiManage any layer-7 protocols in a Service Mesh.项目地址:https://gitcode.com/gh_mirrors/ae/aeraki