QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

腾讯云 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:265597

评论

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

潘建伟团队再登Nature:建成全球首个集成量子通信网,全长4600公里

京东科技开发者

云计算

9条消除if...else的锦囊妙计,助你写出更优雅的代码

苏三说技术

赛博时代,拿什么盛放对逝者的思念?

脑极体

Spring Boot 中的项目属性配置

武哥聊编程

Java springboot SpringBoot 2 28天写作

技术er,你还特立独行坚持技术的优雅性么?

三石

28天写作 技术与业务

Python 条件判断

赵开忠

Python 28天写作

来玩一玩Linux常见命令!

程序员的时光

Linux 程序员 28天写作

Lock锁 精讲

伯阳

Java 多线程 lock lock锁

Experience Never Gets Old

三只猫

28天写作

区块链与物联网融合发展的机遇与挑战

CECBC

人工智能

【计算机内功修炼】四:进程切换与线程切换的区别

码农的荒岛求生

线程 进程 进程线程区别

精选算法面试-优先队列

李孟聊AI

算法 队列 28天写作

电动汽车的小历史及汽车方面的一个基础概念 (28天写作 Day5/28)

mtfelix

28天写作 电动汽车

未来五年数字经济九大技术趋势,区块链成数字时代刚需!

CECBC

人工智能

分布式唯一ID解决方案-雪花算法

JavaPub

Java 分布式

静态代理,jdk动态代理以及Cglib区别

Java架构师迁哥

在CSDN的六载时光,由你来决定今年的博客之星

谙忆

九个最容易出错的 Hive sql 详解及使用注意事项

五分钟学大数据

sql 大数据 hive

一致性Hash算法Java版实现

Silently9527

Java 后端 一致性Hash算法

[3/28]保障研发反应开发需求

L3C老司机

什么是TACACS?

《价值》- 投资分析(4)

石云升

零售 28天写作 价值 投资分析

一文搞懂参数传递原理

Java 编程 程序员

发达国家加紧数字货币政策布局

CECBC

数字货币

量化交易机器人系统开发|市值管理系统开发搭建

W13902449729

量化交易机器人系统开发 市值管理系统开发搭建

市值管理机器人系统开发|量化策略交易系统开发搭建

W13902449729

市值管理机器人系统开发 量化策略交易系统开发搭建

SD-WAN:网络走向业务

JiangX

创业 投资 网络 28天写作 SD-WAN

人生苦短,开发用云 | 如何优雅完成程序员的侠客梦?

阿里巴巴云原生

人工智能 阿里云 Serverless 程序员 云原生

专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?

Java 学习 程序员 面试

甲方日常 84

句子

工作 随笔杂谈 日常

面试被问AQS、ReentrantLock答不出来?这些知识点让我和面试官聊了半小时!

Java鱼仔

Java 面试 并发 JUC

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