一起进阶学习JAVA:Spring Cloud Alibaba:Nacos

Spring Cloud Alibaba基础教程:Nacos的集群部署 下面我们就来一步步的介绍,我们每一步的搭建细节。 阅读详情

第⼀代 Spring Cloud (主要是 SCN)很多组件已经进⼊停更维护模式。

Spring Cloud:Netflix,Spring官⽅,SCA-Spring Cloud Alibaba(被Spring官⽅认可)

Alibaba 更进⼀步,搞出了Spring Cloud Alibaba(SCA),SCA 是由⼀些阿⾥巴巴的开源组件和云产品组成的,2018年,Spring Cloud Alibaba 正式⼊住了 Spring Cloud 官⽅孵化器。

SCA(Spring Cloud Alibaba)主要有以下几个服务:

  • Nacos(服务注册中⼼、配置中⼼)
  • Sentinel哨兵(服务的熔断、限流等)
  • Dubbo RPC/LB
  • Seata分布式事务解决⽅案

Nacos 服务注册和配置中⼼

Nacos (Dynamic Naming and Configuration Service)是阿⾥巴巴开源的⼀个针对微服务架构中服务发现、配置管理和服务管理平台。

官⽹:https://nacos.io 下载地址:https://github.com/alibaba/Nacos

Nacos功能特性

  • 服务发现与健康检查
  • 动态配置管理
  • 动态DNS服务
  • 服务和元数据管理(管理平台的⻆度,nacos也有⼀个ui⻚⾯,可以看到注册的服务及其实例信息(元数据信息)等),动态的服务权重调整、动态服务优雅下线,都可以去做

Nacos 数据模型(领域模型)

Namespace命名空间、Group分组、集群这些都是为了进⾏归类管理,把服务和配置⽂件进⾏归类,归类之后就可以实现⼀定的效果,⽐如隔离

⽐如,对于服务来说,不同命名空间中的服务不能够互相访问调⽤
在这里插入图片描述

  • Namespace:命名空间,对不同的环境进⾏隔离,⽐如隔离开发环境、测试环境和⽣产环境
  • Group:分组,将若⼲个服务或者若⼲个配置集归为⼀组,通常习惯⼀个系统归为⼀个组
  • Service:某⼀个服务
  • DataId:配置集或者可以认为是⼀个配置⽂件

Namespace + Group + Service 如同 Maven 中的GAV坐标,GAV坐标是为了锁定Jar,⼆这⾥是为了锁定服务

Namespace + Group + DataId 如同 Maven 中的GAV坐标,GAV坐标是为了锁定Jar,⼆这⾥是为了锁定配置⽂件

Nacos抽象出了Namespace、Group、Service、DataId等概念,具体代表什么取决于怎么⽤(⾮常灵活),推荐⽤法如下

概念描述
Namespace代表不同的环境,如开发dev、测试test、⽣产环境prod
Group代表某项⽬
Service某个项⽬中具体xxx服务
DataId某个项⽬中具体的xxx配置⽂件

在这里插入图片描述

单实例Nacos部署

  1. 下载解压安装包,执⾏命令启动。

    linux/mac:sh startup.sh -m standalone
    windows:cmd startup.cmd
    
  2. 访问nacos管理界⾯:http://127.0.0.1:8848/nacos/#/login(默认端⼝8848,账号和密码nacos/nacos)
    在这里插入图片描述

整合Nacos注册中心

  1. 在⽗pom中引⼊SCA依赖
<dependencyManagement>
	 <dependencies>
	 <!--SCA -->
		 <dependency>
			 <groupId>com.alibaba.cloud</groupId>
			 <artifactId>spring-cloud-alibaba-dependencies</artifactId>
			 <version>2.1.0.RELEASE</version>
			 <type>pom</type>
			 <scope>import</scope>
		 </dependency>
	</dependencies>
	 <!--SCA -->
</dependencyManagement>
  1. 在服务提供者⼯程中引⼊nacos客户端依赖
<dependency>
	 <groupId>com.alibaba.cloud</groupId>
	 <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
  1. application.yml中,添加nacos配置信息
spring:
 	cloud:
 		nacos:
 			discovery:
 				################ 配置nacos server地址
 				server-addr: 127.0.0.1:8848

Nacos控制台服务模块

在这里插入图片描述

  1. 服务名:微服务项目名,对应微服务spring.application.name

  2. 分组:代表某项⽬,可自定义,默认DEFAULT_GROUP

  3. 保护阈值:可以设置为0-1之间的浮点数,它其实是⼀个⽐例值(当前服务健康实例数/当前服务总实例数)

    ⼀般流程下,nacos是服务注册中⼼,服务消费者要从nacos获取某⼀个服务的可⽤实例信息,对于服务实例有健康/不健康状态之分,nacos在返回给消费者实例信息的时候,会返回健康实例。这个时候在⼀些⾼并发、⼤流量场景下会存在⼀定的问题

    如果服务A有100个实例,98个实例都不健康了,只有2个实例是健康的,如果nacos只返回这两个健康实例的信息的话,那么后续消费者的请求将全部被分配到这两个实例,流量洪峰到来,2个健康的实例也扛不住了,整个服务A 就扛不住,上游的微服务也会导致崩溃,产⽣雪崩效应。

  4. 元数据:类似于eureka元数据

  5. 服务路由类型:常规使用,保持默认即可,进一步主要用于多数据中心的就近访问

负载均衡

Nacos客户端引⼊的时候,会关联引⼊Ribbon的依赖包,我们使⽤OpenFiegn的时候也会引⼊Ribbon的依赖,Ribbon包括Hystrix都按原来⽅式进⾏配置即可

Nacos Server 数据持久化

Nacos 默认使⽤嵌⼊式数据库进⾏数据存储,它⽀持改为外部Mysql存储

  • 修改${nacoshome}/conf/application.properties(Nacos配置文件),增加Mysql数据源配置
spring.datasource.platform=mysql
### Count of DB:
db.num=1
### Connect URL of DB:
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

Nacos Server 集群

  • 安装3个或3个以上的Nacos

  • 修改application.properties配置文件,给当前实例绑定IP,如果是在同机器上,则每台Nacos需要修改port端口

    nacos.inetutils.ip-address=127.0.0.1
    
  • 复制⼀份conf/cluster.conf.example⽂件,命名为cluster.conf在配置⽂件中设置集群中每⼀个节点的信息

    # 集群节点配置
    127.0.0.1:8848
    127.0.0.1:8849
    127.0.0.1:8850
    
  • 分别启动每⼀个实例(可以批处理脚本完成)

    sh startup.sh -m cluster
    

Nacos 配置中⼼

在这里插入图片描述

  1. 去Nacos server中添加配置信息
    在这里插入图片描述
    Data ID:代表配置文件名称

  2. 改造微服务,添加依赖

    <dependency>
    	 <groupId>com.alibaba.cloud</groupId>
    	 <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    
  3. 微服务中如何锁定 Nacos Server 中的配置⽂件(dataId)

    通过 Namespace + Group + dataId 来锁定配置⽂件,Namespace不指定就默认public,Group不指定
    就默认 DEFAULT_GROUP

    dataId 的完整格式如下
    ${prefix}-${spring.profile.active}.${file-extension}

    • prefix 默认为 spring.application.name 的值,也可以通过配置项spring.cloud.nacos.config.prefix 来配置。

    • spring.profile.active 即为当前环境对应的 profile。 注意:当 spring.profile.active为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${fileextension}

    • file-exetension 为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension 来配置。⽬前只⽀持 properties 和 yaml类型。

      cloud:
       	nacos:
       		discovery:
       # 集群中各节点信息都配置在这⾥(域名-VIP-绑定映射到各个实例的地址信息)
       			server-addr: 127.0.0.1:8848
       		config:
       			server-addr: 127.0.0.1:8848
       			group: DEFAULT_GROUP
       			file-extension: yaml
      
  4. 通过 Spring Cloud 原⽣注解 @RefreshScope 实现配置⾃动更新

/**
* 该类⽤于模拟,我们要使⽤共享的那些配置信息做⼀些事情
*/
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
	 // 和取本地配置信息⼀样
	 @Value("${message}")
	 private String message;
	 @Value("${mysql.url}")
	 private String mysqlUrl;
	 // 内存级别的配置信息
	 
	 // 数据库,redis配置信息
	 @GetMapping("/viewconfig")
	 public String viewconfig() {
	 	return "Message==>" + message + " mysqlUrl=>" + mysqlUrl;
 	 }
}
  1. 多data-Id配置
# nacos配置
cloud:
	nacos:
		discovery:
			# 集群中各节点信息都配置在这⾥(域名-VIP-绑定映射到各个实例的地址信息)
			server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
		# nacos config 配置
		config:
			server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850
			# 锁定server端的配置⽂件(读取它的配置项)
			namespace: 07137f0a-bf66-424b-b910-20ece612395a # 命名空间id
			group: DEFAULT_GROUP # 默认分组就是DEFAULT_GROUP,如果使⽤默认分组可以不配置
			file-extension: yaml #默认properties
			ext-config[0]:
				data-id: abc.yaml
				group: DEFAULT_GROUP
				refresh: true #开启扩展dataId的动态刷新
			ext-config[1]:
				data-id: def.yaml
				group: DEFAULT_GROUP
				refresh: true #开启扩展dataId的动态刷新

优先级:根据规则⽣成的dataId > 扩展的dataId(对于扩展的dataId,[n] n越⼤优先级越⾼)

Spring Cloud Alibaba与K8s的集成 Spring Cloud Alibaba 与 K8s 的集成,就像让智能工厂接入全球化物流网——前者专注业务精细化管理,后者提供弹性基础设施。下一篇文章我们将实战灰度发布,像在游乐场同时开放新旧过山车,逐步切换流量。如果你在容器化过程中经历过“水土不服”,这种组合方案就是专治不服的“调和剂”。技术融合的魅力,在于让每个组件做自己最擅长的事。 阅读详情

相关推荐

Spring Cloud Alibaba Nacos 之 灰度发布(思路分享)

在netflix全家桶相继凉凉后,Ribbon组件确一直坚挺包括在Spring Cloud Alibaba Nacos中也在使用。其实要基于Nacos做灰度发布,也是在Ribbon上做手脚。 第一步扩展Metadata Predicate public abstract class DiscoveryEnabledPredicate extends AbstractServerPredicate ...

weixin_44195108的博客 5088

读取nacos配置中心的list对象数据

*

qq_39323945的博客 5874

Java Spring Cloud Alibaba-Nacos 注册中心:(六)Nacos Discovery 对外暴露的 Endpoint

Nacos Discovery 对外暴露的 Endpoint1.给项目添加依赖2.修改配置文件3.查询效果 Nacos Discovery 内部提供了一个 Endpoint, 对应的 endpoint id 为 nacos-discovery。我们通过该 Endpoint,能获取到: 当前服务有哪些服务订阅者 ; 当前应用 Nacos 的基础配置信息 ; 1.给项目添加依赖 假设我们想看服务提供者(provider)有那些订阅者,以及 Nacos 的基础配置信息。 我们就需要给 provider 项目

地球村 4135

nacos解析-是否可以配置多个@NacosPropertySource

本文基于nacos-2.0.3版本 nacos中,每一个@NacosPropertySource都被解析为一个PropertySource对象,并且将该对象添加到Environment的propertySources集合中,这个集合是List对象,默认每新增一个PropertySource对象,都会将其添加到集合的末尾,我们可以通过NacosPropertySource中的first、before等属性设置它们的顺序。 所有的@NacosPropertySource解析完毕后,下面开始解析@NacosV.

龚厂长的博客 5808

Spring Cloud Alibaba 介绍与版本映射关系

Spring Cloud 本身并不是一个拿来即可用的框架,它是一套微服务规范,这套规范共有两代实现。(子项目):● 第一代实现: Spring Cloud Netflix,● 第二代实现: Spring Cloud Alibaba。2018 年 12 月12 日,Netflix 公司宣布 Spring Cloud Netflix 系列大部分组件都进入维护模式,不再添加新特性。

web18285997089的博客 1016

Naocs配置中心配置映射List、Map、Map嵌套List等方式

【1】@ConfigurationProperties(prefix = "list-json-str") 其中 prefix 的 list-json-str 为配置内容的根节点属性。【2】示例代码中 listJsonStrList、cfTestMap、cfTestMapValForList 是配置类的映射属性。【3】示例代码中 ListByJsonStrDto:映射属性传输类dto,此 dto 内属性与配置内容中的节点属性一一映射。

hkl_Forever的博客 2896

java入门中心_Java教程:nacos入门系列之配置中心

配置的发布与订阅我们先来看看如何使用nacos提供的api来实现配置的发布与订阅发布配置:publicclassConfigPub{publicstaticvoidmain(String[]args)throwsNacosException{finalStringdataId="test";finalStringgroup="DEFAULT_GROUP";ConfigSer...

weixin_32270483的博客 582

Spring Cloud Alibaba系列教程——Spring Cloud Alibaba开篇

随着Spring Cloud Alibaba的发展,Spring Cloud Alibaba的相关组件逐渐的成熟,对于它的学习和研究已经是java开发人员的趋势。这篇博文主要内容是介绍什么是Spring Cloud Alibaba,Spring Cloud 与Spring Cloud Alibaba的关系,以及我们为什么要学习它,以及畅想Spring Cloud Alibaba未来发展。

努力+坚持,而且还很年轻 6652

【NACOS自定义配置读取和映射】一个简易的Nacos配置读取和映射处理器,自定义注解+BeanPostProcessor,简单方便高效的属性注入解决方法

众所周知由Spring提供的注解属性,是一种简单易用且方便维护的自定义配置读取映射方式。部分API不会直接生效或者说需要做一些额外的操作,具体就是直接使用了@NacosConfigurationProperties后也没效果,使用了@NacosPropertySource标注了也没有效果,从源码里找处理的部分,在nacos-client包里没有的。感觉这块的api设计上本身就缺乏一些考究,既然加上没效果就放在有效果的包里好了,放在nacos-client包里面,它只是个摆设。

NameLoadingFailed的博客 3134

Nacos 配置手册.pdf

Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

本地Qwen + ComfyUI 制作AI漫剧完整保姆级教程(2026年3月最新版)

本文介绍了一个零成本、本地化AI漫剧制作方案,整合Qwen大模型和ComfyUI工作流。Qwen负责剧本创作、分镜设计和提示词生成,ComfyUI处理图像生成、角色一致性保持和动态视频制作。该方案支持8GB显存设备运行(推荐12GB),包含详细安装指南和完整制作流程:从Ollama安装Qwen模型,到ComfyUI配置及必备节点安装,再到分镜生成、角色固定、批量出图和视频合成。文章还提供了常见问题解决方案和优化技巧,全流程1-2小时即可完成3分钟竖屏漫剧制作,适合新手和日更创作者。

posstos的博客 5546

Java开发者求职指南:从零到月薪12K的实战学习路线与面试策略

Java作为企业级应用开发的核心语言,其生态体系庞大,涵盖了从基础语法到分布式架构的完整技术栈。理解Java虚拟机(JVM)的内存模型、垃圾回收机制以及集合框架的底层原理,是构建高性能、高并发应用的基础。随着微服务架构的普及,Spring Boot以其自动配置和快速开发能力,成为Java后端开发的事实标准,结合Spring Cloud或Dubbo等组件,能够有效构建可扩展的分布式系统。掌握MySQL索引优化、Redis缓存应用以及Kafka等消息队列,对于保障系统数据一致性与高可用性至关重要。这些技术的核心

weixin_34192816的博客 383

Arduino智能小灯DIY:人体感应+光线感应+蓝牙控制全攻略(附完整代码)

本文提供了一份完整的Arduino智能小灯DIY制作指南。项目融合了人体感应、光线感应与蓝牙控制三大功能,通过详细的硬件清单、电路连接图、核心逻辑讲解及附带的完整代码,手把手教你打造一个能自动感知环境与人、并支持手机远程控制的智能照明装置,是入门智能家居和物联网开发的绝佳实践。

java5的博客 1094

【Spring Cloud Alibaba】Nacos(一)

在Spring Cloud Alibaba套件中服务治理方面的核心组件是Nacos(Dynamic Naming and Configuration Service),在Spring Cloud Alibaba套件为基础的微服务中,Nacos担当的角色有服务发现和健康检测、服务注册中心(动态注册)、配置中心(动态配置)、服务元数据管理等功能。做为注册中心:Nacos管理所有的微服务,解决微服务调用之间的错综复杂、难以维护的问题。

Blue_Pepsi_Cola的博客 1695

5个免费股票数据API实测对比:从AkShare到BaoStock,哪个最适合你的AI量化项目?

本文深度评测了AkShare、BaoStock、yfinance、Alpha Vantage和EOD Historical Data这五个免费股票数据API,从数据质量、覆盖范围、更新频率、稳定性及易用性进行对比。针对AI量化项目,文章提供了详细的选型策略,帮助开发者根据项目阶段与需求,精准选择最适合的数据源,并强调了多源验证与数据清洗的重要性。

weixin_29290947的博客 5086

SAP农产品增值税进项税解决方案

(三)购进农产品用于生产经营且不构成货物实体的(包括包装物、辅助材料、燃料、低值易耗品等),用于生产适用13%税率货物的扣除率为10%,用于生产适用9%税率货物的扣除率为9%。具体计算公式为: 当期允许抵扣农产品增值税进项税额=当期耗用农产品数量×农产品平均购买单价×扣除率/(1+9%)

weixin_44228539的博客 1196

SpringCloud Alibaba 2021版 nacos 配置中心教程

文章目录nacos 配置中心 是什么nacos config 和 springcloud config 对比常用配置中心对比支持profile粒度的配置快速入门 nacos 配置中心 是什么 nacos config 和 springcloud config 对比 springcloud config大部分场景结合git 使用, 动态变更还需要依赖Spring Cloud Bus 消息总线来通过所有的客户端变化. springcloud config不提供可视化界面 nacos config使用长轮询更新

做一个有思想的技术人 1万+

【漏洞复现】7-Zip目录穿越漏洞(CVE-2025-11001)

摘要:CVE-2025-11001是7-Zip(v21.02-v24.09)Windows版处理ZIP包符号链接时的高危漏洞,攻击者可构造恶意ZIP文件实现目录穿越和任意文件写入。漏洞源于路径检查缺陷,当用户解压含特殊符号链接的压缩包时,可能将文件写入系统目录。复现利用GitHub公开的Python脚本(https://github.com/pacbypass/CVE-2025-11001)可生成攻击包,需注意该漏洞仅影响Windows且需要用户交互。

LongL_GuYu的博客 1608

Alibaba之Nacos详解

本文为转载文章,原文作者:Wind Mt 原文链接:https://windmt.com/2018/11/09/intro-to-spring-cloud-alibaba-nacos/ 上个月最后一天的凌晨,Spring Cloud Alibaba 正式入驻了 Spring Cloud 官方孵化器,并在 maven 中央库发布了第一个版本。 目前 Spring Cloud Alibaba 还只...

徐刘根的博客 5万+

对halcon形状匹配算法的一点分析

基于Intel VTune Profiler对halcon形状匹配算法的一点分析

manuoo的专栏 567

独立游戏之路:Tap篇 -- 个人开发者上架TapTap步骤和注意事项

作为一名游戏开发者,将自己的独立游戏上架到 TapTap 平台是一个不错的选择。TapTap 是一个拥有大量用户的游戏社区平台,上架游戏可以让更多的玩家发现和体验你的游戏。TapTap 是一个游戏社区平台,用户可以在平台上下载和分享游戏。TapTap 拥有大量的用户,并且用户活跃度高,这为独立游戏开发者提供了一个很好的展示和推广平台。进入TapTap开发者服务后台。

陈言必行 -- Unity游戏开发领域优质博主 6410

spring-cloud-alibaba-nacos-discovery使用说明

Nacos-Client 作为微服务架构中连接 Nacos 服务端的核心组件,其版本选择需与上下游组件严格匹配,以确保功能稳定性和兼容性。:需与 Spring Boot 和 Spring Cloud 版本匹配(如 Spring Boot 2.7.x + Spring Cloud 2021.0.x)。的核心组件,通过与 Nacos Server 的深度集成,帮助开发者快速构建动态服务治理体系。通过以上版本匹配策略,可有效规避兼容性问题,确保服务注册、配置管理等核心功能的稳定性。调用时直接使用服务名(

技术人集结地 4048

YOLOv11来了,使用YOLOv11训练自己的数据集和推理(附YOLOv11网络结构图)

YOLOv11 由 Ultralytics 在 2024 年 9 月 30 日发布, 最新的 YOLOv11 模型在之前的 YOLO 版本引入了新功能和改进,以进一步提高性能和灵活性。YOLO11 在快速、准确且易于使用,使其成为各种对象检测和跟踪、实例分割、图像分类和姿态估计任务的绝佳选择。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 28万+

从 spring cloud alibaba 到 nacos-client 的版本传递

spring-cloud-alibaba spring-cloud-alibaba-dependencies 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http:/...

weixin_30341735的博客 2027

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Spring Cloud Alibaba:搭建Nacos集群

Spring Cloud Alibaba:搭建Nacos集群 博主准备搭建由三个Nacos节点组成的集群,先需要创建三台虚拟机,系统为CentOS7,每台虚拟机配置相同,内存2G以及磁盘8G。如何创建虚拟机请参考这篇博客: VirtualBox安装CentOS7 还需要使用XShell来连接虚拟机,毕竟在VirtualBox上操作虚拟机比较麻烦。先使用VirtualBox进入虚拟机,查询该虚拟机的IP地址(使用ip addr或者ifconfig命令),然后使用XShell来连接它。 ip addr命令

kaven 4347

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OpenFeign 教程: 使用 Spring Cloud Alibaba 和 Nacos

本教程演示了如何使用 OpenFeign 与 Spring Cloud Alibaba 和 Nacos 实现微服务之间的远程调用。我们创建了一个简单的 Spring Boot 项目,配置了 Nacos 服务发现,创建了一个简单的微服务,然后使用 Feign 客户端进行调用。你可以在这个基础上扩展,为你的项目创建更多的微服务和 Feign 客户端。OpenFeign方法接口参数都有哪些?OpenFeign 支持多种方法参数和注解,可以帮助你轻松地定义和调用远程服务。

weixin_48053866的博客 2743

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 一起进阶学习JAVA:Spring Cloud及微服务(一)
下一篇: 一起进阶学习JAVA:MySQL海量数据存储与优化
洋小洋咩咩咩
博客等级 码龄18年 30粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值