跳到主要内容

使用 Kmesh 作为阿里云服务网格(ASM)无边车模式的数据平面

· 阅读需 8 分钟

概述

阿里云服务网格(ASM)支持边车模式和无边车模式。边车模式中,每个服务实例旁边运行一个代理,这种模式目前是最常选且较为稳定的解决方案。然而,这种架构会引入延迟和资源开销。为了解决边车模式中固有的延迟和资源消耗问题,近年来出现了各种无边车模式的解决方案,例如 Istio Ambient。Istio Ambient 在每个节点上部署 ztunnel 对节点上运行的 Pod 进行 L4 流量代理,并部署 waypoint 来处理 L7 流量代理。虽然无边车模式可以降低延迟和资源消耗,但其稳定性和功能完整性仍有待提高。

Kmesh:详细解析指标与访问日志

· 阅读需 8 分钟
lizhencheng
Kmesh Maintainer

引言

Kmesh 是一个内核原生、无边车(sidecarless) 的服务网格数据平面。借助 ebpf 和可编程内核,它将流量治理下沉到操作系统内核,从而减少了服务网格的资源开销和网络延迟。

内核中可以直接获取流量数据,并通过 bpf map 将数据传递到用户态。这些数据用于构建指标和访问日志。

Kmesh:内核级流量管理引擎,带来极致性能体验

· 阅读需 11 分钟

Kmesh 是一款全新的内核级流量管理引擎,通过基础软件创新帮助用户在云原生场景中构建高性能通信基础设施。用户可在服务网格环境中通过 helm 一键部署 Kmesh,与 Istiod 实现无缝连接。通过将流量管理下沉到操作系统,Kmesh 相比 Istio Sidecar 方案可降低超过 50% 的转发延迟,为应用提供极致的转发性能体验。

Kmesh:高性能服务网格数据平面

· 阅读需 11 分钟

什么是服务网格

服务网格的概念最初由开发 Linkerd 软件的公司 Buoyant 在 2016 年提出。Linkerd 的 CEO Willian Morgan 给出了服务网格的最初定义:

服务网格是专门用于处理服务间通信的一个层。它负责在构成现代云原生应用的复杂服务拓扑中可靠地传递请求。实际上,服务网格通常通过部署在应用代码旁边的一组轻量级网络代理来实现,而应用程序本身无需感知这一层。

简单来说,服务网格是一层处理服务间通信的机制。它通过部署一组轻量级网络代理,为现代云原生应用提供透明且可靠的网络通信。

服务网格的本质在于解决微服务如何高效通信的问题。通过实现负载均衡、金丝雀路由和熔断等治理规则,服务网格能够协调流量,最大化服务集群的能力。这是服务治理演进的产物。

基于 Sockmap 加速 ServiceMesh 数据平面

· 阅读需 7 分钟

背景介绍

早期的微服务架构面临着服务发现、负载均衡以及认证/授权等诸多挑战。最初,微服务实践者们各自实现了分布式通信系统来应对这些挑战,但这种方式导致业务功能的重复造轮子。为了解决这一问题,提出了一种方案:将通用的分布式系统通信代码抽取成框架,并以库的形式供程序调用。然而,这个看似完美的方案存在几个致命的弱点:

  • 框架需要对业务代码进行侵入式修改,迫使开发者学习如何使用该框架。
  • 框架无法跨不同的编程语言使用。
  • 在管理复杂的项目框架和库版本兼容性问题时,升级框架往往会迫使业务一同升级。