Apache SkyWalking 在 Service Mesh 中的可观察性应用 | 线上直播回顾

分布式全链路追踪 SkyWalking基本原理(一) 分布式链路追踪 SkyWalking基本原理一、APM简介二、分布式链路追踪二、Apache Skywalking(Incubator)简介1. Apache SkyWalking:2. Skywalking已经支持从6个可视化维度剖析分布式系统的运行情况。三、什么是 SkyWalking四、SkyWalking 原理架构图如下:五、SkyWalking 核心模块介绍:六、各模块组件视图简介1. ... 阅读详情

Service Mesh Virtual Meetup 是 ServiceMesher 社区和 CNCF 联合主办的线上系列直播。本期为 Service Mesh Virtual Meetup#1 ,邀请了四位来自不同公司的嘉宾,从不同角度展开了 Service Mesh 的应用实践分享,分享涵盖 Service Mesh 的可观察性和生产实践以及与传统微服务中可观察性的区别,还有如何使用 SkyWalking 来观测 Service Mesh,来自陌陌和百度的 Service Mesh 生产实践。

本文根据5月7日晚,美国 Service Mesh 服务商 Tetrate 创始工程师高洪涛的主题分享《Apache SkyWalking 在 Service Mesh 中的可观察性应用》整理。文末包含本次分享的视频回顾链接以及 PPT 下载地址。

前言

本次演讲为大家分享的是 Apache SkyWalking 对 Service Mesh 可观测性方面的应用实践,共分为三个部分:

  • 第一部分是 Apache SkyWalking 的相关背景;

  • 第二部分是 Service Mesh 场景下 SkyWalking 所面临的挑战;

  • 最后是针对 Service Mesh 场景方案的演化;

SkyWalking 的历史沿革及其特点


SkyWalking 项目的建设目的是为了解决在微服务环境下,如何快速的定位系统稳定性问题。创始团队于2016年启动项目,经过一年的努力完善了最初的版本。2017年,团队启动将项目捐献给 Apache 基金会的流程。在 Apache 基金会孵化器内,经过了多轮系统升级迭代,并获得近乎翻倍的贡献者和关注度,于2019年顺利毕业。经过经年的升级与维护,SkyWalking 从最开始专注于分布式追踪系统的单一平台,发展为包含多个门类并拥有丰富的功能的全领域 APM 系统。

SkyWalking 整体的系统架构包括有三个部分:

  • 第一个是数据采集端,可以使用语言探针对系统的监控指标进行采集,同时也提供了一套完整的数据采集协议。第三方系统可以使用协议将相关的监控数据上报到分析平台。

  • 第二部是分析平台,主要包括对监控指标数据的搜集,流式化处理,最终将数据写到存储引擎之中。存储引擎可使用Elasticsearch,MySQL数据库等多种方案。

  • 第三部分是 UI。UI 组件有丰富的数据展示功能,包含指标展板,调用拓扑图,跟踪数据查询,指标比较和告警等功能。

在此基础上,SkyWalking 本身组件具有丰富的定制功能,方便用户去进行二次开发以支持自己特有的场景。

SkyWalking 定义了三个维度用来绑定相关的监控指标数据。

  • 服务(Service):表示对请求提供相同行为的一系列或一组工作负载。在使用打点代理或 SDK 的时候, 你可以定义服务的名字。如果不定义的话,SkyWalking 将会使用你在平台上定义的名字, 如 Istio。

  • 实例(Instance):上述的一组工作负载中的每一个工作负载称为一个实例。就像 Kubernetes 中的 Pod 一样, 服务实例未必就是操作系统上的一个进程。但当你在使用打点代理的时候,一个服务实例实际就是操作系统上的一个真实进程。

  • 端点(Endpoint):对于特定服务所接收的请求路径,如 HTTP 的 URL 路径和 gRPC 服务的类名 + 方法签名。

预定义的维度可以方便的进行数据预汇集操作,是 SkyWalking 分析引擎重要的组成部分。虽然其相对的会有使用不够灵活的缺点,但在 APM 场景下,指标往往都是预先经过精心设计的,而性能才是关键因素。故 SkyWalking 采用这种预定义维度模式来进行数据汇集操作。

Service Mesh 场景下 SkyWalking 面对的挑战


在描述 Service Mesh 的场景下所面临的挑战之前,需要去解释可观测性所包含的含义。可观测性一般包含有三个部分:

  • 第一点,日志系统。由其可以构建出系统运行的实时状态。故日志成为非常方便的观测手段。

  • 第二点,分布式追踪。这部分数据在微服务场景下具有强大的生命力,可以提供给用户分布式系统观测指标。

  • 第三点,指标监控。相比于日志和分布式追踪,其具有消耗小,处理简便等特点,通常作为系统监测告警的重要数据来源。

如上所示是 Istio1.5 的架构图。重点看一下他对可观测性的支持。从图上看,所有的监控指标都汇聚到中间的 Mixer 组件,然后由 Mixer 再发送给他左右的 Adapter,通过 Adapter 再将这些指标发送给外围的监控平台,如 SkyWalking 后端分析平台。在监控数据流经 Mixer 的时候,Istio 的元数据会被附加到这些指标中。另一种新的基于 Telemetry V2 观测体系是通过 Envoy 的 Proxy 直接将监控指标发送给分析平台,这种模式目前还处于快速的演进和开发中,但是它代表着未来的一种趋势。

从架构图中我们可以看到,这里面的第一个挑战就是 Service Mesh 场景下,对于可观测性的技术体系的支持是非常多变的。

Istio 本身就包括两种不融合的体系,第一种是基于 Mixer 的场景,第二种是 Mixerless 场景。

Mixer 是基于访问日志进行指标生成的,也就是说服务与服务之间的访问日志经过 Mixer 增加相关的原数据后再发给外围分析系统。其特点是这个模式非常的成熟、稳定,但是性能会非常的低。它的低效源于两个方面,第一点是他的数据发送通道很长,中间节点过多。可以看到数据需要到从 Proxy 发送到 Mixer 节点,再发送给外围的 Adapter 节点。另一个效能低下的原因主要是体现在它发送的是原始访问日志,其数据量是非常大的,会消耗过多的带宽,这对整体的数据搜集与分析提出了非常大的挑战。

另一种模式是 Mixerless,它完全是基于 Metrics 指标的。通过可观测性包含的技术及其特点分析可知,它是一种消耗比较小的技术,对带宽以及分析后台都是非常友好的。但是它同时也有自己的问题,第一个问题就是他需要的技术门槛是比较高的(使用 WASM 插件来实现),并且对于 Proxy 端的性能消耗也是比较大的。同时由于是新的技术,稳定性较差,相关接口与规范并不完整。

第二个挑战就是无 Tracing 数据。SkyWalking 最早是为了收集处理跟踪数据(Tracing)而设计的一套系统,但是我们可以从右边的图发现,对于 Service Mesh 上报的数据其实是基于调用的,也就是说它不存在一条完整的跟踪链路。这样就对后台的分析模型有比较大的挑战,如何才能同时支持好这两种模式成为后端分析系统所要处理的棘手问题。

第三个挑战就是维度匹配的问题。我们从前一章可以看到 SkyWalking 是包括三个维度的,其中对于实例和端点,在 Service Mesh 场景下都是有比较好的支持。这里多说一句,不仅仅是对 Mesh 场景,对于大部分场景都可以很好的去匹配它们。但是对于服务的匹配是有相当大难度的,因为 SkyWalking 只有服务这一层的概念,而在 Istio 中有好几个概念可以称之为“服务”。如何才能进行相关的维度匹配,特别是对于服务级别的维度匹配,成为了 Service Mesh 是如何与 SkyWalking 结合的另一个关键点。

应用方案及其演化

与 Istio 的集成

我们从 Istio 的架构图中可见,除了网络流量控制服务以外,Istio 同时提供了对 Telemetry 数据集成的功能。Telemetry 组件主要通过 Mixer 进行集成,而这恰恰就是 SkyWalking 首先与 Istio 集成的点。早期 Istio 可以进行进程内的集成,即将集成代码添加到其源码进行变异,以达到最高性能。后来 Istio 为了降低系统的集成复杂性,将该功能演变为进程外的适配器。目前 SkyWalking 就是采用这种进程外适配器进行集成的。

安装模式有两种:

  • 如果从 Helm Chart 安装 SkyWalking,可以在 values.yml 文件中将如图的参数设置为 true。而后 Helm 会自动安装 SkyWalking 分析后台,并将它以进程外适配器的模式集成到 Istio 中;

  • 如果 SkyWalking 与 Istio 已经安装,可以使用右图中所示的 cr 文件来配置 Istio,使其将观测数据发送到 SkyWalking 中;

安装完毕后,使用 BookInfo 示例程序进行测试。可以看到维度匹配为:

  • 服务 Service:<ReplicaSet>.<Namespace>;

  • 实例 Instance: kubernetes://<Pod>;

  • 端点 Endpoint:http url;

可以发现 Service 包含了 Namespace。故在不同 Namespace 下,一定是两个不同的服务。

拓扑图中除了示例中的服务和 Ingress 外,还包含有 istio-telemetry 组件。这反映了实际的数据流量,但有些用户会觉得这稍显冗余,而后的方案大家会看到此处略有不同。

除了进行 Mixer 的集成以外,SkyWalking 同时可以与 Envoy 的 access log service 进行相关的系统集成,以达到 Mixer 类似的效果。与 Envoy 集成的优势在于可以非常高效的将访问日志发送给 SkyWalking 的接收器,这样延迟最小。但缺点是目前的 access log service 发送数据非常多,会潜在影响 SkyWalking 的处理性能和网络带宽。同时所有的分析模块都依赖于较为底层的访问日志,一些 Istio 的相关特性不能被识别。比如这种模式下只能现实 Envoy 的元数据,Istio 的虚拟服务等概念无法有效的现实。

这种模式需要在安装 SkyWalking 与 Istio 时进行配置。首先在 SkyWalking 的 Helm 里将“envoy.als.enabled”设置为 true。而后安装 Istio 时,需要设置"values.global.proxy.envoyAccessLogService"为如图中的值。

从拓扑图中看,与 Mixer 模式最明显的区别为没有 istio-telemetry 组件。这是由于该组件并没有 Envoy Sidecar 来路由流量,故也不会产生访问日志。也就是,此种模式完全反应了实际的工作负载情况。

除了上述两种模式,目前社区正在开发基于 Istio 最新的 TelemetryV2 协议的观测模型。此种模式是基于 Metrics 监控而不是基于访问日志。这种模式将对外暴露两种 Metrics:

  • service level: 这种 Metrics 描述的是服务之间的关系指标,用来生成拓扑图和服务级别的指标;

  • proxy level: 这种 Metrics 描述的 Proxy 进程的相关指标,用来生成实例级别的指标;

此种模式为标椎的 Mixerless,其优点是对分析平台友好,网络带宽消耗小。缺点为需要消耗 Envoy 的资源,特别是对内存消耗大。但是相信经过外来多轮优化,可以很好的解决这些问题。

但此种模式还有另外的缺点,即不能生成端点 Endpoint 的监控指标。如果用户希望能包含此种指标,还需要使用基于 ALS 访问日志的模式。

Tracing 与 Metric 混合支持

在 SkyWalking8.0 之前,如果开启 Service Mesh 模式,那么传统的 Tracing 模式是不能使用的。原因是他们共享了一个分析流水线。如果同时开启会造成计算指标重复的问题。

在 SkyWalking8.0 中,引入的 MeterSystem 可以避免此种问题的产生。而且计划将 Tracing 调整为可以配置是否生成监控指标,这样最终将会达到的效果是:指标面板与拓扑图的数据来源于 Envoy 的 Metrics,跟踪数据来源于 Tracing 分析,从而达到支持 Istio 的 Telemetry 在控制面中的所有功能。

另外,Envoy 和 Istio 本身不支持 Skywalking 的远程 Tracing 协议。目前社区已经尝试进行 nginx 和 MOSN 等Mesh 环境中常用的 Proxy 的协议支持,后续也会尝试将 Skywalking 协议添加到 Envoy 中(使用 WASM 插件)。

维度匹配

从安装过程可以发现,服务 Service 在 Mixer 和 ALS 中的规则为 ReplicaSet+Namespace 的形式。其很难反映 Istio 实际的维度情况。后续在 TelemetryV2 中将会获得真实的 Istio 服务间映射。同时也会尝试增加如下的命名规则以区分跨Cluster的情况:“Version|App|Namespace|Cluster”。

总结

结本次分享简要的介绍了 Apache SkyWalking 在 Service Mesh 场景下的应用方案。主要是基于 Istio 做了详细的介绍,通过三种主要的挑战而引出的解决方案,将帮助大家更好的理解和使用 SkyWalking 的 Mesh 功能。希望大家有兴趣去尝试使用 SkyWalking 去观测 Istio。

以上就是此次分享的全部内容,感谢大家的关注与支持!

嘉宾介绍

高洪涛,FoundingEngineer 美国 Service Mesh 服务商 Tetrate 创始工程师。原华为软件开发云技术专家,对云原生产品有丰富的设计,研发与实施经验。对分布式数据库、容器调度、微服务、Servic Mesh 等技术有深入的了解。目前为 Apache ShardingSphere 和 Apache SkyWalking 核心贡献者,参与该开源项目在软件开发云的商业化进程。前当当网系统架构师,开源达人,曾参与 Elastic-Job 等知名开源项目。

回顾视频以及 PPT 下载地址

  • 视频回顾:https://www.bilibili.com/video/BV1qp4y197zU

  • PPT 下载:https://github.com/servicemesher/meetup-slides/tree/master/2020/05/virtual

相关阅读

本文归档在 sofastack.tech。

???? 奖励支持 SOFAStack 的你~

* 关注“Service Mesh”的点个“在看”

* 到公众号对话框发送“T 恤”,试试手气~

* 本期互动奖品“SOFAStack  T 恤”

手把手实战:RK3588上YOLOv8模型从训练到部署全流程解析 本文详细解析了在RK3588开发板上部署YOLOv8目标检测模型的全流程。从模型训练、正确导出适配的ONNX格式,到使用RKNN-Toolkit2进行模型转换与量化,最后在板卡上完成部署与性能测试。文章提供了完整的代码示例和关键避坑指南,帮助开发者高效实现嵌入式AI应用落地。 阅读详情

相关推荐

ad新版本学习笔记(基本包含一套流程)Altium Designer(ad20/ad21/ad22/ad23)

ad20-ad23学习笔记,逐渐补全

安和的博客 4万+

SkyWalking 观测 Service Mesh 技术大公开

导读:本文摘自于SkyWalking创始人吴晟撰写的《Apache SkyWalking实战》一书,介绍了SkyWalking对Service Mesh的监控模型,并重点阐述了其与Ist...

优快云资讯 5593

国赛数学建模高教社杯历届优秀论文全集

包含了2004到2023年高教社的赛题及优秀论文。

BanDeng001的博客 3288

【云原生系列之SkyWalking的部署】

任何一个Span可以包含来自不同的主机信息,这些也要记录下来.事实上每一个RPC Span可以包含客户端和服务器两个过程注释.由于客户端和服务器上的时间戳来自不同主机,还必须考虑到时间偏差,在分析工具就利用了时间偏差,即RPC客户端发送一个请求之后服务端才能收到,对应响应也是一样的.这样一来服务器的RPC就有一个时间戳的一个开始和结束,然后就计算出时间消耗.探针上报协议: 协议包括语言探针的注册,Metrics数据上报,Tracing数据上报等标准,Java,Go等探针都需要严格遵守此协议的标准.

weixin_58519482的博客 2233

避坑指南:STM32CubeMX配置SDIO4bit模式时为什么卡在HAL_SD_ConfigWideBusOperation?

本文深入分析了使用STM32CubeMX配置SDIO 4位模式时,程序在HAL_SD_ConfigWideBusOperation函数处卡死的常见问题。文章从硬件连接、CubeMX配置、初始化序列及HAL库底层实现等多个维度剖析根源,并提供了从初始化流程优化到增强代码鲁棒性等实战解决方案,帮助开发者彻底解决这一棘手难题。

pca5navigator的博客 825

《点云处理算法》——GROR配准

GROR点云配准

阁楼 1315

skype安卓手机版_水晶直播app最新手机版-水晶直播app安卓免费版

  水晶直播app最新手机版是一款火爆好玩的手机直播软件,软件里面拥有着高颜值多才多艺的主播,给小伙伴们带来更好的直播内容,下面小编就为大家带来了水晶直播app安卓免费版,一起来看看吧!水晶直播最新版软件介绍:  水晶直播最新版是一款最火爆好玩的手机视频直播平台,数万高颜值多才艺主播,随时随地跟TA们在线视频互动交友。小鲜肉、草根偶像、奇葩怪才、附近到同城、国内到海外,应有尽有,总有一款适合你。下...

weixin_39864387的博客 4928

保姆级教程:在紫光同创Titan2 FPGA上实现PCIe DMA,实测带宽接近理论极限

本文详细介绍了在紫光同创Titan2 FPGA上实现PCIe DMA性能调优的全过程,通过参数优化和架构设计,实测带宽达到6.91GB/s,接近理论极限。涵盖开发环境搭建、PCIe IP核定制、DMA引擎设计、驱动开发及性能调优等关键步骤,为FPGA开发者提供实用指南。

weixin_30954817的博客 335

Sky更新ipad版Sky+应用 新增远程控制和电视指南等功能

Sky已经更新它的iOS版Sky+应用,新版Sky+添加了远程控制功能,记录以及在Sky+盒子进行编辑和删除记录等功能,并且其应用界面也焕然一新。 Sky用户现在只需要通过他们的iPad连接到网络就可以进入Sky盒子,打开Sky+应用程序来查看当前计划和进度。用户还可以编辑录音,如果有想观看的电视节目以及电影可以设置提醒,同时也可以删除已经存在的记录。新的电视指南为用户带来第二屏幕体验,...

轻轻草原 407

2 中望CAD二次开发-绘制图形(ZRX C++)

本文讲解中望CAD二次开发,关于块的概念及基本图形的绘制

cilvsuanna的博客 411

数学建模算法案例精讲500篇-【深度强化学习】深度确定性策略梯度(DDPG)(附MATLAB和python代码实现)

它是一种学习连续动作的无模型策略算法。它结合了DPG(确定性策略梯度)和DQN(深度Q网络)的思想。它利用DQN中的经验重放和延迟更新的目标网络,并基于DPG,可以在连续的动作空间上运行。# 用于生成带有噪声的动作def __init__(self, action_space, mu=0.0, theta = 0.15, max_sigma = 0.3, min_sigma = 0.3, decay_period = 100000):#decay_period要根据迭代次数合理设置# 均值 mu。

qq_36130719的博客 325

Service Mesh 与探针

Service Mesh 与探针 skywalking探针 skywalking是apache发布的分布式追踪服务,通过安装skywalking探针的方式采集数据。 部署方式 1.拷贝skywalking-agent目录到所需位置,探针包含整个目录,请不要改变目录结构 2.增加JVM启动参数,-javaagent:/path/to/skywalking-agent/skywalking-agent.jar。参数值为skywalking-agent.jar的绝对路径。 service mesh 探针 做什么

maso88的专栏 602

新手强化学习—深入解析 YOLOv13 项目包中的文件结构和各文件作用

YOLOv13是YOLO系列最新发布的计算机视觉模型。在这篇博客中,我将深入分析YOLOv13中各个文件的作用,对整个项目的文件结构有更清晰的认识。

Limiiiing的博客 482

国内首款MID/NetBook软件商店SkyLive正式发布

近日随着google推出Android软件商店,苹果推出iPone软件商店,软件商店的概念进入了我们的视野。近日记者通过相关渠道接触到了国内一家致力于LinuxMID的软件商店解决方案提供商空宇数联(SkyUnion)。据其公关部负责人讲,空宇数联(SkyUnion)为一技术公司,专注于Linux下的软件商店开发已经二年多时间,并早于google、iPhone等在今年的8月份正式发布了

MeeGo社区博客 2306

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

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

envoy代理skywalking提供服务

skywalking服务启动后,默认监听127.0.0.1,本着玩的目的,我们使用envoy代理提供对外服务!

love58的博客 417

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SkyWalking 微服务链路追踪

对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题:Skywalking 是一个国产开源框架,2015年由吴晟开源,2017年加入 Apache 孵化器。Skywalking 是分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。它是一款优秀的 APM(Application Performance Management)工具,包括了分布式追踪、性能指标分析、应用和服务以来分析等官网:https://skywalkin

Vinjcent 6192

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Tetrate高洪涛:解密SkyWalking的APM专用数据库BanyanDB

将Log、Tracing、Metrics作为一类模型,完全融入一个单一的数据库平台

m0_46700908的博客 3625

架构师之SkyWalking 链路追踪

SkyWalking 是一款开源的 应用性能监控(APM) 和 分布式追踪系统,专为微服务、云原生架构和服务网格(Service Mesh)设计。其核心目标是帮助开发者和运维人员快速定位分布式系统中的性能问题

分享技术应用、实践场景等,评论区开放技术难题讨论,共同成长进步。 1485

【实验0001】K8S环境下使用skywalking和Envoy 访问日志服务对service mesh进行观察

K8S环境下使用skywalking和Envoy访问日志服务对service mesh 进行观察

powrexly的博客 481

Skywalking微服务监控分析

转载本文需注明出处:微信公众号EAWorld,违者必究。引言:微服务框架落地后,分布式部署架构带来的问题就会迅速凸显出来。服务之间的相互调用过程中,如果业务出现错误或者异...

低代码开发,数据,中间件,企业架构原创技术分享 3109

这么多Apache顶级项目,SkyWalking为何一枝独秀?

吴晟读完需要5分钟速读仅需 2分钟吴晟Apache基金会会员,Apache SkyWalking创始人、项目VP和PMC成员,Apache孵化器PMC成员,Apache Shardin...

中生代技术 1300

Skywalking原理学习 -- skywalking 搭建及入门示例

访问地址:http://localhost:8080/1、首页:2、调用关系3、服务调用信息4、追踪日志信息。

井底之蛙 9万+

使用 SkyWalking 和 Envoy 访问日志服务对服务网格进行观察

作者:柯振旭、吴晟Apache Skywalking[1]︰特别为微服务、云原生和容器化(Docker、Kubernetes、Mesos)架构而设计的 APM(应用性能监控)系统。Env...

ServiceMesher 1621

【云原生 | Envoy 系列】--Envoy原理

Envoy原理

Q先生 3380

Skywalking 性能监控安装及使用

2.Skywalking 性能监控 官网: http://skywalking.apache.org/downloads/ 下载地址: https://archive.apache.org/dist/skywalking/ 官方使用文档: https://skywalking.apache.org/docs/ https://github.com/apache/skywalking/tree/v8.1.0/docs https://github.com/apache/skywalking/blob/5.x/

奋斗的小鸟专栏 1万+
上一篇: Service Mesh 高可用在企业级生产中的实践 | 线上直播回顾
下一篇: SOFA Weekly | Service Mesh 系列直播回顾、SOFARPC 剖析回顾
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值