写点什么

腾讯云 Aeraki Mesh 正式成为 CNCF 沙箱项目:与 Istio 无缝集成,支持 Dubbo、Thrift、bRPC 等

  • 2022-06-16
  • 本文字数:1603 字

    阅读完需:约 5 分钟

腾讯云 Aeraki Mesh 正式成为 CNCF 沙箱项目:与 Istio 无缝集成,支持Dubbo、Thrift、bRPC等

6 月 16 日消息,全球顶级开源基金会 CNCF(云原生计算基金会)宣布,腾讯云服务网格开源项目Aeraki Mesh通过 CNCF 技术监督委员会评定,正式成为 CNCF 沙箱项目,也是国内首个加入 CNCF 的服务网格项目。后续该项目代码、文档、官网等内容的所有权将全面由 CNCF 基金会进行托管,项目的中立性和开放性将进一步提升。

 

根据介绍,Aeraki [Air-rah-ki] 是希腊语“微风”的意思,该命名的寓意是希望 Aeraki Mesh 这股“微风”能帮助 Istio 和 Kubernetes 在云原生的旅程中行得更快更远。Aeraki Mesh 的定位非常明确:只处理服务网格的非 HTTP 七层流量,将 HTTP 流量留给 Istio 。


Aeraki Mesh 架构

 

上图显示,Aeraki Mesh 由 Aeraki 和 MetaProtocol Proxy 两部分组成。

 

Aeraki 工作在控制面,为运维提供高层次、用户友好的流量管理规则,将规则转化为 envoy 代理配置,并利用 Istio 提供的标准接口将配置推送给数据面的 sidecar 代理。 Aeraki 还在控制面中充当了 MetaProtocol Proxy 的 RDS(路由发现服务)服务器。不同于专注于 HTTP 的 Envoy RDS,Aeraki RDS 旨在为所有七层协议提供通用的动态路由能力。

 

MetaProtocol Proxy 工作在数据面,是一个七层代理框架,为七层协议提供了常用的流量管理能力,如负载均衡、熔断、路由、本地/全局限流、故障注入、指标收集、调用跟踪等等。开发者可以基于 MetaProtocol Proxy 提供的通用能力创建自己专有协议的七层代理。

 

根据腾讯云高级工程师赵化冰介绍,开发者如果要在服务网格中加入一个新的协议,唯一需要做的是实现编解码器接口(通常只需数百行代码)和几行 yaml 配置。MetaProtocol Proxy 还提供了一个扩展机制,允许用户编写自己的七层过滤器,将自定义的逻辑加入 MetaProtocol Proxy 中。


MetaProtocol Proxy 架构

 

MetaProtcolProxy 对七层协议进行了高度抽象,提取了 Metadata 这个非常灵活的扩展机制。应用协议在解码过程中将协议中的关键属性填充到 Metadata 中,这些属性可以用于请求路由、限流等后续的七层 filter 处理。框架层将 Meatdata 作为透明的 key/value 值串进行处理,不需要理解协议的业务细节。该设计可以确保任何基于 MetaProtocol 开发的应用协议都能使用同一套控制面 API 进行管理,是 Aeraki 实现对  DubboThriftbRPC以及其他协议进行统一管理的基础。

 

同时,MetaProtocolProxy 还提供了 Mutation 数据结构,用于在编码时对数据包进行修改,例如增加/修改请求头的内容。MetaProtocolProxy 处理请求过程如下:


据悉,早在 2017 年,腾讯云容器团队就选定 Istio 为技术路线,开始服务网格的相关研发工作。但 Istio 主要处理 HTTP 协议,微服务中经常使用到的其他协议,如 Dubbo、Thrift、Redis 以及私有协议等,只使用 Istio 无法对其进行服务治理。这也是服务网格落地的主要困难之一。

 

在这个过程中,腾讯云推出了一种非侵入的、高度可扩展的解决方案  Aeraki Mesh。根据赵化冰介绍,Aeraki Mesh 主要特点包括:

 

  • 和 Istio 无缝集成,是 Istio Ecosystem 集成推荐项目。开发者可以采用 Istio + Aeraki Mesh 来构建一个可以同时管理 HTTP 和其他七层协议​的全栈服务网格。​

  • 支持在 Istio 中管理 Dubbo、Thrift、Redis 等开源协议的流量。

  • 支持在 Istio 中管理私有协议的流量,只需数百行代码,对 Istio 无任何改动。

  • 支持请求级负载均衡,支持任意匹配条件的动态路由,全局和本地限流,流量镜像等强大的七层流量管理能力。

  • 提供丰富的请求级性能指标,包括请求时延、错误、数量等,支持分布式调用跟踪。

  • 对 Istio、Envoy 等上游开源项目完全无侵入,可以跟随上游项目进行快速迭代,充分利用上游项目新版本提供的新增能力。

 

据了解,Aeraki Mesh 由腾讯云主导,百度、灵雀云、腾讯音乐、滴滴、政采网等多家企业参与共建。此前,Aeraki Mesh 已加入 CNCF Landscape 云原生全景图,并经过 2022 冬奥会线上直播及央视频、腾讯音乐、小红书等多个超大型项目的实战检验。

2022-06-16 14:265405

评论

发布
暂无评论
发现更多内容

开源一夏|OpenHarmony跳转拨号界面

坚果

开源 OpenHarmony 8月月更

HttpClient 在vivo内销浏览器的高并发实践优化

vivo互联网技术

Java 高并发 HttpClient

【ZK简明教程】(1)零知识证明的背景和系统结构

比特之心

区块链 零知识证明 密码学 签约计划第三季

对 Service Mesh 望而却步?可能都没理解这一点

baiyutang

架构 微服务 签约计划第三季 servicemes

前端食堂技术周刊第 48 期:ESLint 新配置系统、Vue3 中文文档正式上线、Astro 1.0、小程序新渲染引擎

童欧巴

极狐 GitLab 冷知识:使用 git push 创建 Merge Request

郭旭东

极狐GitLab JIHULAB 101

令人上头的AI论文(上) | IDP Inspiration

Baihai IDP

面试官:如何设计更好的分布式系统?

Java全栈架构师

程序员 架构 面试 分布式 后端

记一次 ClickHouse 性能测试

劼哥stone

极狐 GitLab 冷知识:如何美化 issue 内容

郭旭东

极狐GitLab JIHULAB 101

面试官偷偷告诉我:原来这样优化提升接口的性能

知识浅谈

API 优化 8月月更

Go 事,如何成为一个Gopher ,并在7天找到 Go 语言相关工作,第1篇

梦想橡皮擦

Python 爬虫 8月月更

数据库知识点总结

乌龟哥哥

8月月更

面试突击74:properties和yml有什么区别?

王磊

Java 常见面试题

STM32入门开发 介绍IIC总线、读写AT24C02(EEPROM)(采用模拟时序)

DS小龙哥

8月月更

NFT服务平台如何选择——搭建NFT平台技术

开源直播系统源码

数字藏品 数字藏品软件开发 数字藏品系统软件开发 数字藏品交易平台开发

CCF国际AIOps挑战赛

云桌派

[极致用户体验] 你的 Link Button 能让用户选择新页面打开吗?

HullQin

CSS JavaScript html 前端 8月月更

Linux部署hadoop2.7.7集群

程序员欣宸

hadoop 8月月更

SpringBoot 实战:国际化组件 MessageSource 与 Nacos 组合实现动态配置能力

看山

源码 nacos springboot MessageSources

11 个需要避免的 React 错误用法

Geek_z9ygea

JavaScript typescript React

什么是研发效能?研发效能定义及核心价值

laofo

DevOps cicd 研发效能 持续交付 工程效率

C++学习------cfenv头文件的作用与源码分析

桑榆

签约计划第三季

云原生(十七) | Kubernetes篇之深入了解Deployment

Lansonli

云原生 8月月更

最多可省19%!阿里云第七代云服务器ECS中国大陆地域调价通知

阿里云弹性计算

云计算 阿里云 ECS 企业创新

基于jwt的token验证、原理及流程

TimeFriends

8月月更

极狐 GitLab 冷知识:在 Gitlab CI Pipeline 中进行 Git Push 操作

郭旭东

极狐GitLab JIHULAB 101

3 分钟看 3 个 JS 小把戏

掘金安东尼

JavaScript 前端 8月月更

极狐 Git Lab 冷知识:妙用 Badge 徽章

郭旭东

极狐GitLab JIHULAB 101

极狐 GitLab 冷知识:GitLab CI 最熟悉的陌生关键字 script

郭旭东

极狐GitLab JIHULAB 101

PyTorch 与 TensorFlow 怎么选?

博文视点Broadview

腾讯云 Aeraki Mesh 正式成为 CNCF 沙箱项目:与 Istio 无缝集成,支持Dubbo、Thrift、bRPC等_服务革新_褚杏娟_InfoQ精选文章