6月,由腾讯云主导,联合百度、灵雀云、腾讯音乐、滴滴、政采云等多家合作伙伴发起的服务网格开源项目 Aeraki Mesh 通过了全球顶级开源基金会云原生计算基金会(CNCF)技术监督委员会评定,正式成为CNCF 沙箱项目。这意味着 Aeraki Mesh 得到了云原生开源社区的认可,而且加入 CNCF 也保证了项目的中立和开源开放,为 Aeraki Mesh 在云原生生态系统的进一步发展迈出了坚定的一步。

Aeraki Mesh 加入 CNCF 的这个时间点,恰好在 Istio 宣布将 Istio 捐赠给 CNCF 基金会不久。作为 Service Mesh 开源领域的领军项目,Istio 受到了广大开发者的欢迎,加入 CNCF 标志着 Istio 和 K8s,Knative 三大云原生容器自动化框架纳入了同一个治理架构,Istio 和 CNCF 中其他的项目之间的合作将更为密切顺畅,也为 Istio 成为 Service Mesh 领域的事实标准扫清了最后的障碍。然而 Istio 虽然强大,但主要处理 HTTP 协议,将其他协议看做 TCP 流量,这是服务网格在产品落地时遇到的主要问题之一。在微服务中经常会使用到其他的协议,例如 Dubbo、Thrift、Redis,以及私有协议等。只使用 Istio 无法对这些流量进行服务治理。Aeraki Mesh 提供了一种非侵入的、高度可扩展的解决方案来管理服务网格中的任何七层流量。Aeraki Mesh 在此时间节点加入 CNCF,在 Istio 中为非 HTTP 协议提供了和 HTTP 协议同等的治理能力,加速了服务网格成熟商用和产品落地的进程

Aeraki [Air-rah-ki] 是希腊语 ”微风“ 的意思。 该命名的寓意是希望 Aeraki Mesh 这股“微风”能帮助 Istio 和 Kubernetes 在云原生的旅程中行得更快更远。Aeraki Mesh 的定位非常明确:只处理服务网格的非 HTTP 七层流量,将 HTTP 流量留给 Istio 。(我们认为现有的项目已经足够优秀,不必重新造轮子)。



Aeraki Mesh 架构

正如该图所示,Aeraki Mesh 由以下两部分组成

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

MetaProtocol Proxy: MetaProtocol Proxy 工作在数据面,是一个七层代理框架,为七层协议提供了常用的流量管理能力,如负载均衡、熔断、路由、本地/全局限流、故障注入、指标收集、调用跟踪等等。我们可以基于 MetaProtocol Proxy 提供的通用能力创建自己专有协议的七层代理。要在服务网格中加入一个新的协议,唯一需要做的就是实现 编解码器接口 (通常只需数百行代码)和几行 yaml 配置。如果有特殊的要求,而内置的功能又不能满足,MetaProtocol Proxy 还提供了一个扩展机制,允许用户编写自己的七层过滤器,将自定义的逻辑加入 MetaProtocol Proxy 中。

MetaProtocol Proxy 中已经支持了 Dubbo, Thrift ,bRPC 和一系列私有协议。如果你正在使用一个闭源的专有协议,也可以在服务网格中管理它,只需为它编写一个 MetaProtocol 编解码器即可。



MetaProtocol Proxy 架构

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

下图是 MetaProtocolProxy 处理一个请求处理的过程:



MetaProtocol Proxy 请求处理流程

Aeraki Mesh 的主要特点

和 Istio 无缝集成,是 Istio Ecosystem 集成推荐项目。您可以采用 Istio + Aeraki Mesh

来构建一个可以同时管理 HTTP 和其他七层协议的全栈服务网格。

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

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

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

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

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

Aeraki Mesh 已经在央视频、腾讯音乐等大型项目中产品化落地,并经过了 2022 冬奥会线上大规模流量的实战检验。目前有多个产品正在接入测试中。百度、灵雀云、滴滴、政采云等多个合作伙伴已经加入社区进行共建。

总结

Aeraki Mesh 社区正在大力发展中,欢迎大家加入

安装试用https://www.aeraki.net/zh/docs/v1.0/quickstart/

加入社区会议https://www.aeraki.net/zh/community/#community-meetings

Star 一下https://github.com/aeraki-mesh/aeraki

Aeraki Mesh 产品落地实践

Istiocon 2022 分享:Istio + Aeraki 在腾讯音乐的服务网格落地 | Aeraki Mesh

腾讯云原生分享:Areaki Mesh 在 2022 冬奥会视频直播应用中的服务网格实践 | Aeraki Mesh

关于我们

更多关于云原生的案例和知识,可关注同名【腾讯云原生】公众号~

福利:

①公众号后台回复【手册】,可获得《腾讯云原生路线图手册》&《腾讯云原生最佳实践》~

②公众号后台回复【系列】,可获得《15个系列100+篇超实用云原生原创干货合集》,包含Kubernetes 降本增效、K8s 性能优化实践、最佳实践等系列。

③公众号后台回复【白皮书】,可获得《腾讯云容器安全白皮书》&《降本之源-云原生成本管理白皮书v1.0》

④公众号后台回复【光速入门】,可获得腾讯云专家5万字精华教程,光速入门Prometheus和Grafana。

【腾讯云原生】云说新品、云研新术、云游新活、云赏资讯,扫码关注同名公众号,及时获取更多干货!!

Aeraki Mesh正式成为CNCF沙箱项目,腾讯云携伙伴加速服务网格成熟商用的更多相关文章

  1. 重磅 | 腾讯云服务网格开源项目 Aeraki Mesh 加入 CNCF 云原生全景图

    作者 赵化冰,腾讯云工程师,Aeraki Mesh 创始人,Istio member,Envoy contributor,目前负责 Tencent Cloud Mesh 研发工作. 摘要 近日,腾讯云 ...

  2. 腾讯云即时通信 IM 服务 实例项目

    腾讯云即时通信 IM 服务  https://github.com/tencentyun/TIMSDK

  3. 腾讯云ubuntu下mysqli服务的开启

    腾讯云ubuntu下mysqli服务的开启 今天晚上搞了好久,在本地操作系统deepin下操作完全无需开启mysqli模块,自动就开启了.这次介绍一下服务器ubuntu下mysqli模块的开启. 首先 ...

  4. 基于腾讯云Serverless的HTTP服务探活函数

    本文基于 Golang 开发了一款简单易用的拨测云函数,入口函数与腾讯云 Serverless SDK 绑定.与目前腾讯云中默认的拨测函数不同的是, url-tester-func 支持非 200 响 ...

  5. GitHub pages+自定义域名(腾讯云域名)+cloudflare加速

    本人也是第一次走完整个流程,github pages当然一直有使用,创建也很简单,并且网上教程也比较多:然后是关于自定义域名的问题,自己以前使用过国外的免费域名,然后是直接修改就ok了,然后这次使用了 ...

  6. 腾讯云,搭建LAMP服务

    lamp (Web应用软件) 编辑 Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被 ...

  7. 腾讯云-搭建 FTP 文件服务

    搭建 FTP 文件服务 目的:搭建认证登录的FTP具有读写权限 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...

  8. 腾讯首个CNCF沙箱开源项目

    作者 SuperEdge开发者.腾讯云容器产品中心边缘计算团队.腾讯开源生态管理协会 SuperEdge 进入 CNCF 沙箱 2021 年 9 月 14 日,云原生分布式边缘容器系统 SuperEd ...

  9. 重磅!业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目

    摘要:4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目. 4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个 ...

随机推荐

  1. [源码解析] TensorFlow 分布式环境(8) --- 通信机制

    [源码解析] TensorFlow 分布式环境(8) --- 通信机制 目录 [源码解析] TensorFlow 分布式环境(8) --- 通信机制 1. 机制 1.1 消息标识符 1.1.1 定义 ...

  2. CPU乱序执行问题

    CPU为了提高执行效率,会在一条指令执行的过程中(比如去内存读数据,读数据的过程相较于CPU的执行速度慢100倍以上,cpu处于等待状态),这个时候cpu会分析接下来的指令是否正在执行的指令相关联,如 ...

  3. Java 虚拟机学习记录

    参考资料 JVM高级特性与最佳实践-周志明 HotSpot 虚拟机垃圾回收调优指导 JVM 标准(Java SE 8) JSR 133 Java平台内存模型与线程修订版 命令行工具 JDK Vs JR ...

  4. selenium模块跳过用户名密码验证码输入,加载浏览器标签和cookie,进行翻页爬虫多页动态加载的数据(js)

    能解决登陆一次后,之后不需要二次登陆的动态加载数据,网页保存的cookie和标签,加入到selenium自动化测试浏览器中 1 from selenium import webdriver 2 imp ...

  5. Rancher无法登录 容器报错X509:certificate has expired or is not ye valid

    在某天需要发布新版本的时候,发现rancher无法登录,于是到服务器上查看rancher日志,发现以下内容:  参考rancher文档中独立容器Rancher Server证书更新解决 1. 进入容器 ...

  6. asp.net core MVC 添加静态文件

    ASP.net Core 中添加插件需要 1.将文件放在wwwroot文件夹下(根目录文件夹,没有的话需要创建) 2.需要在project.json中的dependencies添加如下依赖 " ...

  7. Bugku CTF练习题---MISC---telnet

    Bugku CTF练习题---MISC---telnet flag:flag{d316759c281bf925d600be698a4973d5} 解题步骤: 1.观察题目,下载附件 2.拿到手以后发现 ...

  8. Matlab学习笔记 绘图

    1.二维曲线(1)plot函数①plot函数的基本用法:plot(x,y),其中x和y分别用于存储x坐标和y坐标数据. >>x=[1,2,3]; >>y=[4,5,6]; &g ...

  9. Linux-文件查找-打包压缩-tar

    1.文件查找工具locate,find 1.1  locate locate 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db 索引的构建是在系统较为空闲时自动进 ...

  10. Response.Write中文乱码问题

    接手别人的一个ASP项目,功能是页面按钮下载Excel导出数据. 每次导出某一天的数据会出现excel中文乱码,其他天又没问题,因为数据量比较大,所以没有逐条去检查. 找了一些资料 https://w ...