Service Mesh 的下一站是 Sidecarless 吗?

Cilium基于eBPF的Service Mesh架构与性能优化实践 Service Mesh作为云原生架构的核心组件,通过解耦应用与网络功能实现流量管理、安全策略和可观测性。传统方案依赖Sidecar代理,存在显著的性能开销和资源消耗。基于eBPF技术的Cilium创新性地在内核层面实现流量处理,通过绕过TCP/IP协议栈和用户空间代理,大幅降低延迟和CPU占用。这种架构特别适合需要高性能网络处理的场景,如金融交易系统和实时数据分析平台。Cilium Service Mesh通过Hubble组件提供全链路可视化,结合Kubernetes原生API实现七层流量管理和细粒度安全 阅读详情

文|田阳 (花名:烈元)

MOSN Maintainer

专注云原生等技术领域

本文3042字 阅读 10 分钟

1. 背景

Service Mesh 被越来越多的公司认可并实践,在实际落地过程中也遇到了形形色色的问题,同时架构也在持续演进去解决这些问题:有的从初始的 DaemonSet mode 转变为 Sidecar mode,如 Linkerd ;有的从做 CNI 延伸到 Service Mesh 场景, 结合 eBPF 使用 DaemonSet mode,如 Cilium ;如今 Istio 也新增了 Ambient Mesh ,支持 DaemonSet mode 作为其主推模式。

不难看出一个演进趋势就是围绕着是否需要 Sidecar 而展开,那么 Service Mesh 的下一站将会是 Sidecarless 吗?本文将对目前的社区趋势做一个简要分析, 最后也将介绍蚂蚁在这方面的探索和实践。

2. 社区趋势

2.1 Cilium

Cilium[1] 是目前最火的云原生网络技术之一,基于革命性的内核技术 eBPF,提供、保护和观察容器工作负载之间的网络连接。

在 6 月份,Cilium 发布了 1.12 版本,其中发布了 Service Mesh 能力、Sidecarless 架构,它提供了两种模式:

通过图表我们可以发现:针对 L3/L4 的能力,Cilium 使用内核的 eBPF 直接支持;对于 L7 的部分能力,将使用 DaemonSet 部署的 Envoy 来支持。Cilium 认为大部分能力都不需要 L7 的参与,通过 eBPF 就能满足,所以 Cilium 也称自己为内核级服务网格。

针对于此 Cilium 也有一个解释,结合应用程序 TCPD 最终被合入 linux kernel 发展为 iptables 为例,认为 Mesh 也应该作为基础能力下沉到 linux kernel 作为网络的基础组件,就类似于 TCP,作为 Linux 的一部分透明地提供的服务。

在当需要 L7 代理能力的时候,会构建 DaemonSet Envoy 处理 L7 的能力。Envoy 也已经有了 Namespace 的初步概念,它们被称为监听器。监听器可以携带单独的配置并独立运行,从而可以支持多租户的配置隔离 (但目前还做不到资源和故障的隔离) 。

Cilium 认为 DaemonSet 相比 Sidecar 最明显的好处就是代理数大大减少,减少资源和管理成本。

可以看出 Cilium Service Mesh 的发展历程是由下而上,从内核层慢慢向业务层扩展自己的服务边界,由 eBPF 来支持服务网络也是有一定的立场因素。但 eBPF 并不是银弹,DaemonSet mode 也是有一些其他的问题,收益和损失都是相对的。

2.2 Linkerd

当然,Cilium 这个架构也不乏有挑战者,其中来头最大的就是 Linkerd[2] (Service Mesh 概念的提出者) 的创始人 William Morgan ,比较有意思的是 Linkerd 最开始的架构是 DaemonSet mode ,在后面的版本才换成 Sidecar mode ,对于此,作为逆行者的他应该最有发言权。

在 William Morgan 的最新文章[3] 中也客观提出了 eBPF 的一些局限性,为了保证  eBPF  的安全执行而不影响 kernel ,需要通过验证器验证是否有不正确的行为,这就导致 eBPF 的编写存在一定的潜规则,比如不能有无界循环;不能超过预设的大小等,代码的复杂性也就受到了一定限制。所以较复杂的逻辑用 eBPF 来实现也是有较高的成本的。

文章中也提到了 DaemonSet 的一些弊端:

- 资源管理不可评估:这取决于 K8s 调度多少 Pod 到该 Node;

- 隔离性:所有应用公用一个 Proxy ,相互影响稳定性;

- 爆炸半径变大:影响整个 Node 的 Pod 实例;

- 安全问题更复杂:比如 Proxy 保存有整个 Node 的秘钥。

简而言之,Sidecar 模式继续贯彻了容器级别的隔离保护 —— 内核可以在容器级别执行所有安全保护和公平的多租户调度。容器的隔离仍然可以完美的运行,而 DaemonSet 模式却破坏了这一切,重新引入了争抢式的多租户隔离问题。

当然他也认为 eBPF 可以更好的促进 Mesh 的发展,eBPF+Sidecar 的结合是 Mesh 的未来。

我们也比较认可他对于 eBPF 的看法, eBPF 就像是一把瑞士军刀,小巧精湛,作为胶水把各种网络数据面连接起来,提供基础网络能力,比如提供访问加速,透明劫持,网络可观察性等能力。但要开发复杂的业务能力,在实操之后,感觉还是有点力不从心。目前我们团队也正在使用 eBPF 开发 K8s Service 和透明拦截等基础网络能力。

William Morgan 的说法看着也不无道理,我们先不急着站队,再来看看 Istio 是怎么做的,看是否会有新的想法~

2.3 Istio

在 9 月份,Service Mesh 领域的当家花旦 Istio 毫无征兆的发布了 Ambient Mesh ,并作为自己后续的主推架构,简单来讲就是把数据面从 Sidecar 中剥离出来独立部署,Sidecarless 架构,以彻底解决 Mesh 基础设施和应用部署耦合的问题。

比较好奇 Istio 在没有经过社区讨论和落地案例的情况下,是怎样决策笃定这个新的架构方向的呢?

Istio 认为 Sidecar mode 存在如下三个问题:

- 侵入性

必须通过修改应用程序的 Kubernetes pod spec 来将 Sidecar 代理 “注入” 到应用程序中,并且需要将 Pod 中应用的流量重定向到 Sidecar 。因此安装或升级 Sidecar 需要重新启动应用 Pod ,这对工作负载来说可能是破坏性的。

- 资源利用不足

由于每个 Sidecar 代理只用于其 Pod 中相关的工作负载,因此必须针对每个 Pod 可能的最坏情况保守地配置 Sidecar 的 CPU 和内存资源。这导致了大量的资源预留,可能导致整个集群的资源利用不足。

- 流量中断

流量捕获和 HTTP 处理 通常由 Sidecar 完成,这些操作的计算成本很高,并且可能会破坏一些实现和 HTTP 协议不完全兼容的应用程序。

Envoy 的创始人也来凑了个热闹,他对 Sidecar 架构也是颇有微词。

我们在落地过程中也是遇到了类似的痛点,比如随着机房规模和应用规模的变大,应用的连接数继续膨胀导致 CPU 和 MEM 资源占用也在持续增加,但这一切都不是应用本身想去关心的。

那么让我们来解开 Ambient Mesh 架构真面目,是怎样来解决 Sidecar mode 的问题, 架构主要提出了分层:

从图中可以看出,跟 Cilium 有一些类似,这儿的两层数据面都是基于 Envoy 来构建的,Secure Overlay Layer 主要处理 L4 场景,DaemonSet 部署,L7 processing Layer 主要处理 L7 场景,以 gateway 形式通过 Pod 部署,一个应用部署一个 gateway。

图中的 ztunnel 就是 L4 (DaemonSet 部署) ,waypoint 就是 L7 (Pod 部署) ,L4 和 L7 都是可选的,可以根据业务场景灵活组合,比如没有 L7 的场景,直接就用 L4 即可。

注:图中的 ztunnel 就是L4 (DaemonSet 部署) ,waypoint 就是 L7 (Pod 部署) 。

无形之中,Ambient Mesh 架构对 William Morgan 评论中的问题也做了一定的解决和反驳:

- 资源评估

Istio 认为 L4 资源占用少,然后 L7 的资源占用是通过 Pod 部署,可以更好的弹性。

- 隔离性

每个应用都将有一个 L7 集群,相互不影响。

- 爆炸半径

L4 逻辑简单相对比较稳定,L7 独立部署,也只影响自身应用。

- 安全问题

Istio 认为 Envoy 作为被世界上最大的网络运营商使用的久经考验的成熟软件,它出现安全漏洞的可能性远低于与它一起运行的应用程序。DaemonSet 模式下,出现安全问题时的影响范围并不比任何其他依赖每节点密钥进行加密的 CNI 插件差。有限的 L4 攻击面和 Envoy 的安全特性,Istio 觉得这种风险是有限和可以接受的。

针对 William Morgan 提到的 DaemonSet 增加了安全风险,我们也持保留意见,就拿证书场景为例,在没有统一接入层 (南北向接入网关) 这个产品之前 (15 年前,还没有 K8s ) ,应用的 HTTPS 证书和私钥都是放在跟应用一起部署的 Tengine 上,就类似于 Sidecar 模式,但接入层诞生的一个原因恰恰就是为了集中管理证书和私钥来减少安全风险,通过证书和私钥的分离架构,私钥单独存放在更加安全的 key 集群,并且通过 QAT 硬件加速,HTTPS 性能也更加高效。

把 HTTPS 和 L7 服务治理能力从应用空间解耦出来下沉为基础设施,也让我们有更多的机会去做集中的优化和演进,同时也对应用更加透明,那个时代的以应用为中心。

统一接入层和目前 Service Mesh 的 DaemonSet mode 有着不少相似之处,DaemonSet mode 也可以认为是一个东西流量的 Node 接入层。

网络通信作为基础设施,和应用完全解耦后,可以更好的优化和演进,也能更加透明高效的为应用提供相关基础能力,比如网络连接治理,可信身份,链路加密,流量镜像,安全隔离,服务治理等,更好的以应用为中心。

从 Cilium 到 Linkerd,再到 Istio,几大社区相互切磋,归根结底还是大家的业务场景不一样,也或者是立场不一样。在安全性,稳定性,管理成本,资源占用上,总是会有一个侧重点,这是需要根据不同的业务场景去选择,脱离业务场景谈架构,还是比较空洞。

3. 下一站

没有最好的架构,只有最适合自己的架构,在大家的业务场景,你会选择 Sidecar ,还是 Sidecarless ,你认为的下一站是什么呢?

下周我们即将发布 《降本增效: 蚂蚁在 Sidecarless 的探索和实践》,一起来聊聊蚂蚁在这个方向的探索和演进,期待和大家的交流~

4. 引用

[1]Cilium :

Istio / Introducing Ambient Mesh

[2]Linkerd :

Cilium Service Mesh - Everything You Need to Know

[3]William Morgan 的最新文章:

eBPF, sidecars, and the future of the service mesh

MOSN Star 一下✨:

GitHub - mosn/mosn: The Cloud-Native Network Proxy Platform

本周推荐阅读

蚂蚁集团 Service Mesh 进展回顾与展望

顺丰科技 Service Mesh:落地半年,最初目标已经实现,将在更多场景进行大规模探索

「网商双十一」基于 ServiceMesh 技术的业务链路隔离技术及实践

MOSN 反向通道详解

【信息科学与工程学】【数据中心】第三十五篇 云计算数据中心的学科知识04 编号学科(课程)核心知识点在云计算/云存储/云网络/云安全/云MaaS中的作用代表教材/资料/论文 + 数学方程式列表工业界应用D1421​云原生数据库:TiDB​HTAP(混合事务/分析处理)、分布式SQL、水平扩展、强一致(Raft)、自动故障恢复、与MySQL兼容、TiFlash列式引擎提供弹性扩展的分布式数据库;支撑高并发在线交易与实时分析教材:《TiDB in Action》PingCAP(2020) 论文:《TiDB: A Raft-based HTAP Database》(2017) 阅读详情

相关推荐

Win10系统权限深度解析:如何安全地将C盘所有者从TrustedInstaller变更为Administrators

本文深入解析了Win10系统中C盘文件权限管理的核心机制,解释了为何管理员账户(Administrators)默认无法修改由TrustedInstaller保护的系统文件。文章在强调安全风险的前提下,详细提供了通过图形界面和命令行两种方式,将文件或文件夹所有权从TrustedInstaller安全变更为Administrators的实操步骤,并给出了关键的风险预警与权限恢复方法。

weixin_29305313的博客 549

服务网格架构:Sidecar vs. Sidecarless,谁才是未来?

探讨服务网格架构中 sidecar 与 sidecarless 的争论,比较 Cilium、Istio 和 Linkerd 在安全性、性能和架构复杂性方面的不同观点,帮助读者理解这些技术专家的看法和背后的争议。阅读原文请转到:https://jimmysong.io/blog/service-mesh-sidecar-vs-sidecarless-debate/服务网格已经成为现代云原生应用架构中...

ServiceMesher 797

别再踩坑了!CAPL脚本里局部变量和全局变量的那些“怪事”(附CANoe实测代码)

本文深度解析CAPL脚本中局部变量和全局变量的特殊机制,揭示其与通用编程语言的差异。通过实测代码展示静态局部变量的默认行为和全局变量的节点隔离特性,并提供高效避坑指南,帮助汽车网络测试工程师避免常见陷阱。

weixin_30225755的博客 293

如何构建 Sidecarless 模式的高性能服务网格

在 Service Mesh 技术中,通过把服务治理的能力进行 Sidecar 化,实现与应用程序本身的解耦。这些若干个 Sidecar 代理就形成了一个网状的数据平面,通过该数据平面可以处理和观察所有应用服务间的流量。负责数据平面如何执行的管理组件称为控制平面。

阿里云云栖号 1050

openEuler在虚拟机的网络配置

ethernet0.virtualDev 可以配置成其他类型的虚拟网络适配器。常见的选项包括:vlance - 用于模拟 AMD PCnet32 LANCE 网络适配器,支持10Mbps。e1000 - 用于模拟 Intel E1000 千兆网络适配器,支持1Gbps。e1000e - 用于模拟更现代的 Intel E1000e 千兆网络适配器。vmxnet - 用于 VMware 的自定义网络适配器,性能更好但需要安装 VMware Tools。

FHY1221的博客 2932

【WebApi + Sqlserver】 使用C#编写WebApi并打开sqlserver数据库进行访问,代码适用于简单练习,真实开发需自行完善

【WebApi + Sqlserver】 使用C#编写WebApi并打开sqlserver数据库进行访问,代码适用于简单练习,真实开发需自行完善

2302_78387246的博客 3592

如何构建Sidecarless模式的高性能服务网格

以上步骤可以帮助你构建一个Sidecarless模式的高性能服务网格。但是,请记住,每个应用都有其特定的需求和约束,你可能需要根据你的具体情况进行调整。

高性价比服务器就选:蓝易云 480

详细了解sklearn中的CountVectorizer

CountVectorizer 是 scikit-learn(一个流行的 Python 机器学习库)中的一个文本特征提取类,其核心功能是将一系列原始文本(如句子、文档)转换为基于词频(word count)的数值矩阵。它基于词袋模型(Bag of Words, BoW)思想,忽略文本的语法结构和词序,仅关注词汇在文本中出现的频率,从而将文本转化为机器可理解的数字形式。文本 1:"I love machine learning"

2302_76568160的博客 1119

两全其美:Sidecarless 与 Sidecar 模式融合的服务网格新形态

本文基于 2023 云栖大会上关于阿里云服务网格 ASM 产品技术最新进展分享的实录,来自阿里云云原生产品线服务网格团队的史泽寰、尹航同学将用 4 个部分,为读者介绍 ASM 如何落地这种 Sidecarless 和 Sidecar 模式融合的服务网格新形态,以及服务网格的 Serverless 化。

阿里云云栖号 972

FairyGUI深度解析:Unity复杂UI开发的高效解决方案与性能优化

在Unity游戏和应用开发中,UI系统的性能与开发效率是核心挑战。原生UGUI的组件化模型在应对复杂、动态界面时,常面临Draw Call过高、层级管理臃肿的问题。其原理在于,每个UI元素对应一个GameObject,渲染合批受限于Transform层级与材质状态,易导致性能瓶颈。FairyGUI(FGUI)作为一种专业的第三方UI解决方案,其技术价值在于采用了截然不同的“舞台-显示对象”渲染模型。该模型通过内部轻量级对象管理与自主合批系统,实现了极高的运行时效率与Draw Call优化。在应用场景上,FG

weixin_31315567的博客 341

零基础教你学RDMA驱动开发--第8篇:队列对(QP)、完成队列(CQ)与工作请求(WR)机制剖析

本文深入剖析了RDMA(远程直接内存访问)中的核心机制:队列对(QP)、完成队列(CQ)和工作请求(WR)。QP作为通信端点包含发送队列(SQ)和接收队列(RQ);WR是用户提交的操作指令,转换为工作队列元素(WQE)后由网卡异步执行;CQ则提供完成通知机制。文章详细介绍了三者的协作原理,包括QP状态机、WR提交方式、CQ轮询机制,以及关键的信号控制技术(Signaled Mode)来优化性能。同时对比了SEND/RECV和RDMA WRITE两种模式的差异,提供了调试技巧和最佳实践。这些机制共同构成了RD

amy_mhd的博客 157

内核级流量治理引擎Kmesh八大新特性解读

Kmesh 创新性地提出了基于内核的无 Sidecar 流量治理方案,将流量治理下沉至内核层面,当前Kmesh支持“Kernel-Native”和“Dual-Engine”两种模式。

华为云官方博客 1337

Open Dynamics Engine(ODE)物理引擎教程(1)--下载与安装准备

引言 ODE是一个免费的工业级库,用于模拟关节式刚体动力学,例如地面车辆、腿部生物和虚拟现实环境中的移动对象。它具有快速、灵活、健壮和独立于平台的特点,具有先进的关节、摩擦接触和内置的碰撞检测功能。 项目主页:http://www.ode.org/ 线上手册:http://ode.org/wiki/index.php?title=Manual 本教程为博主亲自亲测过程的总结,转载请注明出处! ...

腿足机器人领域 2216

Kubernetes 2026年技术趋势:Sidecarless Service Mesh、WASM扩展与弹性资源调度的未来走向

Kubernetes在2026年已经走过了12个年头。如果说前十年解决的是"如何编排容器"的问题,那么2025-2026年这个阶段回答的核心问题是"编排本身如何变得更轻量、更智能、更经济"。伴随着CNCF技术雷达的年度更新和K8s 1.35-1.38版本的迭代,一些长期演进的方向正在从实验性功能走向生产就绪。

qwe0iop0的博客 4512

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Java学习第一百一十八部分——Service Mesh

Service Mesh(服务网格)是专用于处理服务间通信的基础设施层,通过轻量级网络代理实现流量控制、安全、可观测性等能力,与业务代码解耦。本文介绍其价值,架构,能力,技术演进等内容。

2503_92550335的博客 751

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Lovable边缘平台搭建全链路解析(K8s+eBPF+轻量Service Mesh深度整合)

Lovable边缘平台搭建提供低延迟、高弹性的边缘计算解决方案,适用于IoT、视频分析等场景;融合K8s编排、eBPF内核级观测与轻量Service Mesh,实现资源高效调度与零信任网络治理。部署简洁、可观测性强、扩展灵活,值得收藏。

FastSolve的博客 314

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JavaEE网络通信原理与性能优化实战

网络通信是分布式系统的基石,其核心在于TCP/IP协议栈的分层设计。从物理层到应用层,每层协议各司其职,共同完成数据传输。JavaEE在应用层通过Servlet容器对网络通信进行标准化封装,显著提升了开发效率。理解NIO多路复用原理能有效提升吞吐量,而连接池、零拷贝等技术则能降低资源消耗。在电商、金融等高并发场景中,合理的线程池配置和协议选择(如HTTP/2或WebSocket)直接影响系统稳定性。通过tcpdump、Wireshark等工具进行网络诊断,结合JMeter压测数据,可以精准定位性能瓶颈。随着

weixin_30765577的博客 460

和Sidecars说再见,看eBPF如何解决服务网格

和Sidecars说再见,看eBPF如何解决服务网格 How eBPF will solve Service Mesh - Goodbye Sidecars https://isovalent.com/blog/post/2021-12-08-ebpf-servicemesh

西京刀客 1274

Istio数据面新模式:Ambient Mesh技术解析

Ambient Mesh以一种更符合大规模落地要求的形态出现,克服了大多数Sidecar模式的固有缺陷,让用户无需再感知网格相关组件,真正将网格下沉为基础设施。

华为云官方博客 1239

降本增效: 蚂蚁在 Sidecarless 的探索和实践

从单体到分布式,解决了日益增长的业务在单体架构下的系统臃肿问题;从分布式到微服务,解决了服务化后的服务治理问题;从微服务到服务网格,解决了应用和基础设施耦合下的研发效能及稳定性问题。从微服务架构的演进历史来看,任何架构都不是一成不变,总是随着应用在不同阶段的痛点以及周边技术的发展而持续演进,而服务网格概念从提出到生产落地至今已 6 年多了,那它的下一代架构应该是什么样?对此业界也有不同的声音Service Mesh 的下一站是 Sidecarless 吗。

金融级分布式架构 866

现在可以安全地移除服务网格sidecar吗?

Volk同意,Istio的无sidecar版本可以维护安全性,但他表示,仍存在一些警告,如在特定情况下可能出现的潜在“噪音邻居”问题。此外,使用Istio Ambient Mesh,整个服务网格上不会丢失平台或策略管理功能,不会丢失特定于应用程序的安全和应用程序卸载功能,也不需要应用程序或基础设施团队立即学习新的编程语言。出于安全和/或合规的原因,受监管的公司可能会选择sidecar模式,用于一组应用程序——这些应用程序绝对不能在数据路径中的任何位置拥有任何共享资源(如代理),这一点得到了很好的解释。

k8scaptain的博客 265

Sidecar 模式的机制与应用

什么是 Sidecar 模式 将应用程序的功能划分为单独的进程,即 Sidecar 模式。Sidecar 译为摩托车的边车,用到软件架构中,Sidecar 模式指在原来的业务逻辑上再新加一个抽象层。 Sidecar 模式是一种更具动态性的方法,其作为一种模式并不是 Kubernetes 的正式约定。它将应用程序的功能划分为单独的进程,运行在同一个 pod 中,Sidecar 模式允许在应用程序旁边添加功能,而无需修改应用程序代码。 Sidecar 示意图 Sidecar 的优势 在 Sidecar 部署方

quanxiangcloud的博客 3769

将 Sidecar 容器带入新的阶段 | KubeCon NA 2019

图为 KubeCon NA 2019 大会分享现场照Speaker:徐迪 蚂蚁金服技术专家:负责蚂蚁金融云PaaS平台建设,Kubernetes 社区老兵,核心代码库贡献量社区前50;张...

金融级分布式架构 817

sidecar_Sidecar用于代码拆分

Code splitting. Code splitting is everywhere. However, why? Just because there is too much of javascript nowadays, and not all are in use at the same point in time. 代码拆分。 代码拆分无处不在。 但是,为什么呢? 仅仅是因为现在的ja...

cullen2012的博客 623

Kubernetes的service mesh——第二部分:以DaemonSet方式运行linkerd

导言在我们发表的上一篇关于linkerd的文章中提到过,linkerd是使用DaemonSet而非sidecar来安装的。在本文中,我们将解释我们为什么(怎么样)这么做。作为service mesh,linkerd设计为与应用程序代码一起运行。它管理和监控service的内部通信,包括服务发现、重试、负载均衡与协议升级。初次听闻,都会觉得这非常适合在Kubernetes中以sidecar的方式部署。

hty46565的博客 1403

SOFA Weekly | Service Mesh 相关阅读合集、SOFABoot 以及 Seata QA 整理

SOFA WEEKLY | 每周精选,筛选每周精华问答同步开源进展,欢迎留言互动SOFAStack(ScalableOpenFinancialArchitecture Stack)...

金融级分布式架构 293
上一篇: Seata-go 1.0 重磅发版
下一篇: Apache APISIX 玩转 Tongsuo 国密插件
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值