Go微服务架构实战 中篇:4. 基于ingress的限流,路径匹配和重写实战

k8s: nginx-ingress-controller 多副本部署实现全局限流 介绍一种基于ngx_http_auth_request_module模块实现全局限流的方法,它是 Nginx 的官方模块并且nginx-ingress-controller默认包含,因此我们无需对 nginx-ingress-controller 进行任何修改。 阅读详情

Go微服务架构实战-【公粽号:堆栈future】

Go微服务架构实战目录

1. 微服务架构上篇

1. grpc技术介绍

2. grpc+protobuf+网关实战

3. etcd技术介绍

4. 基于etcd的服务发现与注册

5. 基于etcd的分布式锁实战

2. 微服务架构中篇

1. k8s架构介绍

2. 基于k8s的容器化部署

3. 基于k8s的Deployment工作负载

4. 基于k8s的ingress实战

到现在为止我们的服务都是跑在集群内部的,为了让集群外部也能访问,那么我们需要让服务外化,但是因为minikube在mac上是网络不通的,所以我们我们直接就在minikube环境中测试(minikube ssh进入即可)。

1. 创建Pod的service

创建pod的service,类型是NodePort,我们看下svc.yaml:

apiVersion: v1
kind: Service
metadata:
  name: k8sdemo-svc # service的服务名称
spec:
  ports:
    - name: k8sdemo-svc
      port: 8000 # service的端口
      targetPort: 60001 # 容器服务的端口
  selector:
    app: k8sdemo # 关联pod
  type: NodePort # 对外暴露


创建完成之后,我们可以kubectl get svc查看是否创建成功图片

通过上图可以知道service是创建成功的,接下来看下架构图:图片

随便拿一台机器的公网IP+NodePort就可以访问了,我们这里可以在minikube中验证下:http://$(minikube ip):NodePort

docker@minikube:~$ curl -X POST  http://192.168.49.2:30143/hello -d '{"name": "fromGW"}'
{"message":"Hello fromGW from 172.17.0.16:50009"}

可以看到是没有问题的。我们从图中可以看出service是pod的更高一层抽象,负责服务发现和负载均衡,当某个Pod挂掉的时候,service会发现这个问题然后把请求打到别的Pod上。同样当在创建一个带有相同标签的Pod的时候,它会自动加入到service中,然后service会把流量按照某种负载均衡算法分发到各个Pod中。

2. 创建ingress

先安装ingress-nginx,我们先把ingress-nginx下载到本地,然后把镜像地址替换下,防止下载速度慢。

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.0.0/deploy/static/provider/baremetal/deploy.yaml

sed -i 's@k8s.gcr.io/ingress-nginx/controller:v1.0.0\(.*\)@cnsre/ingress-nginx-controller:v1.0.0@' deploy.yaml
sed -i 's@k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.0\(.*\)$@cnsre/ingress-nginx-kube-webhook-certgen:v1.0@' deploy.yaml

通过kubectl apply -f deploy.yaml安装。

可以看下是否安装成功:图片

图片目前来看是安装成功的。

接下来创建我们自己的ingress,这个ingress实现的功能就是路径匹配,重写以及限流,这个yam文件内容如下,ingress.yaml:

apiVersion: networking.k8s.io/v1
kind: Ingress # ingress对象
metadata:
  name: k8sdemo-ingress-prefix # 验证前缀匹配的
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - host: hi.k8sdemo.com # 域名
      http:
        paths:
          - path: "/hello" # 前缀匹配
            pathType: Prefix
            backend:
              service:
                name: k8sdemo-svc
                port:
                  number: 8000 # service的端口
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: k8sdemo-ingress-rewrite # 这个ingress是关于验证重写的
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/rewrite-target: /$2 # 重写注解
spec:
  rules:
    - host: hello.k8sdemo.com
      http:
        paths:
          - pathType: Prefix
            path: "/api(/|$)(.*)"  # 把请求会转给下面的服务,下面的服务一定要能处理这个路径,不能处理就是404
            backend:
              service:
                name: k8sdemo-svc  # 如果是/api/hello 去掉前缀api 用/hello访问服务 网关一般这么搞
                port:
                  number: 8000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: k8sdemo-ingress-limit-rate
  annotations:
    nginx.ingress.kubernetes.io/limit-rps: "1" # rps:每秒多少请求 超过之后就报错 https status: 503
spec:
  ingressClassName: nginx
  rules:
    - host: hi.k8sdemo.com
      http:
        paths:
          - pathType: Exact # 精确匹配
            path: "/hello" # 针对这个路径限流
            backend:
              service:
                name: k8sdemo-svc
                port:
                  number: 8000                  

通过kubectl apply -f deploy.yaml创建。可以查看下是否创建成功:

图片

可以看到这三个ingress绑定了两个host,接下来申请域名绑定ingress的ip地址,即上图中的192.168.49.2。但因为我们是minikube本地测试,所以绑定hosts就可以了。修改/etc/hosts:

192.168.49.2 hello.k8sdemo.com
192.168.49.2 hi.k8sdemo.com

保存之后我们就可以验证测试了。大致架构图就是:

图片

3. 验证ingress

我们再次看下ingress的svc对外暴露的端口是:图片可以看到是31721,接下来我们通过域名+端口来访问后端服务。

  1. 首先验证通过正常路径匹配访问
docker@minikube:~$ curl -X POST  http://hi.k8sdemo.com:31721/hello -d '{"name": "fromGW"}'
{"message":"Hello fromGW from 172.17.0.16:50009"}

发现是成功的。

  1. 验证路径重写
docker@minikube:~$ curl -X POST  http://hello.k8sdemo.com:31721/api/hello -d '{"name": "fromGW"}'
{"message":"Hello fromGW from 172.17.0.16:50009"}

发现是成功的。

4. ingress限流

docker@minikube:~$ curl -X POST  http://hi.k8sdemo.com:31721/hello -d '{"name": "fromGW"}'
<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body>
<center><h1>503 Service Temporarily Unavailable</h1></center>
<hr><center>nginx</center>
</body>
</html>

当我们一秒请求的/hello次数大于1的时候报错,nginx返回503,这样就验证了我们的ingress的限流功能。

5. 总结

本小节算是重点,我们要了解ingress如何暴露服务,如何重写路径以及如何限流等。路径重写很重要,比如接口地址是:http://example.gateway.com/user-center/userinfo和http://example.gateway.com/user-center/userprofile,网关地址是http://example.gateway.com,路由到后端服务是userinfo,那么在网关层为了区分我们的服务,会统一加一层user-center,这样就可以区分不同业务了,但是user-center不是我们想要的,我们用它只是区分业务,所以需要在ingress层做下路径重写,这样到后端的服务就没有了user-center了。

还有基于ingress的限流功能也非常简单,大家可以尝试用起来。

参考:

https://kubernetes.github.io/ingress-nginx/

堆栈future

使很多处于迷茫阶段的coder能从这里找到光明,堆栈创世,功在当代,利在千秋

公粽号二维码【堆栈future】:
公粽号:堆栈future

如何在Ingress中进行路径重写rewrite-target 使用nginx.ingress.kubernetes.io/rewrite-target进行路径转发 阅读详情

相关推荐

从零构建高可用微服务API网关:Go语言实战与生产级部署

在微服务架构中,API网关作为统一的流量入口,承担着路由转发、安全防护和流量治理等核心职责。其工作原理基于反向代理和中间件链,通过拦截和处理所有外部请求,实现对后端服务的统一管理。这项技术的价值在于提升系统的可维护性、安全性和可观测性,是构建高可用分布式系统的关键组件。应用场景广泛覆盖电商、金融、物联网等需要处理高并发、多服务协同的领域。本文以Go语言为例,详细拆解如何实现一个具备动态路由、限流熔断和JWT认证等功能的API网关,并深入探讨生产环境下的部署、监控与性能调优实践,其中涉及服务发现集成和Prom

weixin_34314962的博客 341

Ingress对服务做限流

随着现在更多环境的服务进行上云,对网关这块能实现的功能也比较关注,除了能正常的实现代理的作用,还需要可以进行比如:熔断,链路追踪,限流等,这里主要操作下对ingress的限流。 首先还是需要在k8s集群上部署一个服务用来进行测试,我这里部署了一个nginx的pod,然后用ingress代理这个nginx服务,最后在ingress上做限流操作,通过访问ingress查看是否达到限流的作用。 下面创建ingress的yaml来代理nginx这个服务并做限流,如下: apiVersion: extensions

qq_44397993的博客 5698

K8s+Docker部署Java微服务:从镜像构建到生产级配置全指南

容器化技术通过将应用及其依赖打包成标准化的镜像,解决了环境一致性和交付效率问题。其核心原理是利用操作系统级虚拟化实现资源隔离,而容器编排平台则在此基础上,通过声明式API和控制器模式,自动化管理容器的调度、网络、存储与生命周期。这一技术组合的价值在于为微服务架构提供了弹性、可移植且易于管理的运行时环境,广泛应用于互联网、金融、企业级应用等需要快速迭代和高可用的场景。本文聚焦于Java微服务这一典型负载,深入探讨如何利用Docker构建轻量安全的Java镜像,并结合Kubernetes的Deployment、

weixin_33736832的博客 398

如何使用 Nginx Ingress 快速实现 URL 重写

公众号关注「奇妙的 Linux 世界」设为「星标」,每天带你玩转 Linux !什么是URL重写URL重写(URL rewriting)是一种在Web服务器上修改或转换请求URL的过程。它通常涉及使用服务器配置或规则来更改传入的URL,以便在不改变实际请求资源的情况下,实现不同的行为,如重定向、路径映射、参数处理等。URL重写在服务器层面进行,因此客户端(如浏览器)对于URL的请求不会感知到这些...

easylife206的专栏 2070

PyTorch模型生产部署:ONNX/Triton导出与高可用架构实战

机器学习模型部署本质是训练环境与生产环境之间的运行时契约建立过程,涉及序列化协议、推理引擎兼容性、动态批处理及资源隔离等核心问题。ONNX凭借标准化算子集和跨框架支持,成为平衡兼容性、性能与可维护性的首选导出格式;Triton Inference Server则通过原生多框架支持、动态batching和热加载能力,显著提升GPU利用率与服务SLA保障水平。在金融风控、电商推荐等高要求场景中,基于ONNX+Triton+K8s的分层架构可稳定支撑千级QPS与毫秒级P95延迟,同时满足模型热更新、可观测性与版本

weixin_33857679的博客 448

Claude Opus 4.7技术解析与国产替代工作流实战

大语言模型(LLM)正从通用文本生成迈向工程级智能体,其核心演进体现在编程理解、多模态感知与上下文建模三大能力维度。Claude Opus 4.7在SWE-bench Pro和CursorBench等工程基准上实现显著跃升,标志着模型已具备初步的‘项目级认知’能力;但同步出现的KYC身份验证围栏、token成本暴涨及长上下文坍塌等问题,暴露出AI基础设施正由‘网络可达性’转向‘身份可信度’治理范式。这对国内开发者提出新要求:需构建模型无关的工作流体系,通过API聚合平台实现平滑迁移,并依托GLM、Qwen、

weixin_34007020的博客 329

生产必学|kube‑proxy 流量转发原理、IPVS 性能调优、Ingress‑Nginx 路由 / 重写 / TLS / 限流全套实验

本文深入解析Kubernetes网络核心组件kube-proxy,比较iptables/IPVS/Userspace三种代理模式的原理、性能差异及适用场景,推荐生产环境使用IPVS模式。通过实操演示如何查看和切换代理模式,并详细剖析IPVS模式的工作原理及验证方法,包括创建测试资源、查看IPVS规则和验证负载均衡效果。文章还涵盖Ingress-Nginx七层网关的实践内容,如域名路由、TLS证书等生产配置,所有实验均可直接复制运行,配有mermaid流程图,适合云原生开发者和CKA考生学习参考。

Augustsky12138的博客 200

Superpowers:可插拔技能架构与14个工程化Skill实战

Superpowers 是一种面向现代软件开发的能力插件化框架,其核心是将重复性开发任务抽象为独立、可测试、带元数据描述的 Skill(技能模块)。它基于三层分离架构——Runtime 运行时、Skill Registry 注册中心与 Orchestrator 编排器,依托元数据驱动(如 input_schema/output_schema)实现接口契约化、静态校验与自动文档生成。该范式显著提升跨技术栈任务的复用性、可观测性与治理能力,广泛应用于 CI/CD 流水线、代码质量门禁、基础设施审计及运维诊断等场

weixin_34326179的博客 375

Traefik:Go 实现的云原生反向代理,微服务路由自动化利器

Traefik 是专为微服务和容器化架构设计的现代反向代理和负载均衡器。它最大的特点是动态服务发现——自动监听 Docker、Kubernetes 等平台的服务变化,实时更新路由规则,全程无需重启。核心技术栈开发语言:Go 1.21+支持协议:HTTP/HTTPS、gRPC、TCP/UDP、WebSocket平台集成:Docker、Kubernetes、Consul、Etcd监控工具:Prometheus、Jaeger、Datadog。

2501_93248842的博客 1127

KUBERNETES04_Service服务ClusterIP、NodePort方式、Ingress域名访问、路径重写、限流操作

①. Service服务发现ClusterIP方式 ②. Service服务暴露NodePort方式 ③. Ingress的概述以安装 ④. Ingress的域名访问 ⑤. Ingress的路径重写 ⑥. Ingress的限流操作

Vic的博客 1597

研发工作量科学量化评估模型:从多维系数到等级落地指南

摘要:本文提出了一套基于多维系数的科学量化评估模型,用于精准评估软件开发工作量。该模型从需求复杂度、技术难度、质量要求和依赖风险四个核心维度进行量化评估,通过系数乘积计算综合工作量。文章详细说明了各维度的系数区间划分标准,并演示了从基础工作量估算到综合系数计算的具体步骤。该模型通过结构化评估过程,将主观经验转化为客观量化指标,帮助团队提高工作量评估的准确性,增强项目交付的可预测性。其价值在于使评估过程透明化、结构化和可追溯,从而减少项目延期风险,优化资源规划。

友莘居士的博客 1681

如何为Go微服务架构设计企业级API网关:基于Martini框架的云原生集成实战指南

在当今云原生和微服务架构盛行的时代,企业面临着一个关键的技术决策挑战:如何在保持开发效率的同时,构建高性能、可扩展的API网关解决方案。传统的单体应用架构已无法满足现代企业级应用的需求,而过度复杂的微服务框架又可能引入不必要的技术债务。Martini框架以其简洁的设计哲学和强大的依赖注入系统,为企业提供了一个平衡开发效率与架构灵活性的理想选择。 ## 痛点分析:传统API网关方案的局限性 当前

gitblog_00345的博客 484

CMU的local_planner学习笔记

ros::Subscriber subOdometry = nh.subscribe//当接收到/state_estimation话题消息更新时启动odometryHandler回调函数 (消息格式:nav_msgs::Odometry消息内容:关于机器人或车辆的位置和方向(姿态)信息)pcl::PointCloud::Ptr freePaths(new pcl::PointCloud());

qq_35971623的博客 3876

k8s的Services、Proxy、Ingress

如果你使用Deployment来运行你的应用, Deployment 可以动态地创建和销毁 Pod。在任何时刻,你都不知道有多少个这样的 Pod 正在工作以及它们健康与否;你甚至不知道如何辨别 Pod是否健康。KubernetesPod的创建和销毁是为了匹配集群的预期状态。Pod 是临时资源(你不应该期待单个 Pod 既可靠又耐用)。每个 Pod 会获得属于自己的 IP 地址(Kubernetes 使用网络插件来保证这一点)。

weixin_73616238的博客 265

【YOLO 系列】基于YOLO V8的智能车载交通标志识别系统【python源码+Pyqt5界面+数据集+训练代码】

本文详细介绍了基于YOLO V8构建智能车载交通标志识别系统的完整流程。从环境搭建、数据集准备、模型训练到PyQt5图形界面开发,提供了Python源码和实战代码,帮助开发者快速实现高精度、实时的交通标志检测应用,提升驾驶辅助系统的开发效率。

wdx012345的博客 966

Ships Dataset:解锁海洋探索的数字宝库

在海上交通管理中,通过对船舶的持续跟踪,可以及时发现船舶的异常行为,如偏离航线、超速等,保障海上航行的安全。例如,通过分析船舶的航行数据和位置信息,合理安排船舶的停靠时间和装卸货物顺序,避免港口拥堵,提高船舶的周转率。同时,还精确标注了船舶在图像中的位置坐标,通过这些坐标,我们可以准确地定位船舶在图像中的具体位置,为后续的分析和处理提供了精确的依据。从繁忙运输货物的货船,到承载着能源使命的油轮,再到穿梭于海洋寻找鱼群的渔船 ,每一种船舶都有着独特的外形和功能,在数据集中留下了它们的身影。

qq_38220914的博客 1267

kubernetes笔记-1(云计算、组件架构&集群搭建、Namespace/Pod/Deployment/Service/Ingress/Nfs&Pv&Pvc/Configmap/Secret等)

k8s的核心组件学习

の博客 319

SAP ABAP MIGO增强实战:自定义页签与字段的完整实现指南

本文详细介绍了SAP ABAP中MIGO增强的实战指南,包括自定义页签与字段的完整实现步骤。通过BADI增强技术,开发者可以快速满足企业个性化需求,如添加供应商批次号等特殊字段。文章涵盖数据存储结构设计、BADI框架实现、核心方法编写及数据持久化方案,帮助用户高效完成MIGO屏幕增强开发。

study的专栏 774

Higress架构深度解析:云原生网关的技术实现与性能优化

Higress作为新一代云原生API网关,基于Envoy和Istio技术栈构建,实现了服务网格与API网关的深度融合。本文从技术架构、核心实现、性能优化三个维度深入剖析Higress的设计哲学与工程实践,重点解析其混合服务发现机制、动态配置管理和Wasm插件扩展体系。通过对比传统网关架构,揭示Higress在微服务治理、流量调度和可观测性方面的技术优势。 ## 技术背景与设计理念 ### 云原

gitblog_00841的博客 1038

京东豆自动领取脚本配置教程

腾讯云/阿里云服务器(Docker环境):全自动跑脚本领京豆(无需本地代理,使用加速源)

AIOT魔法师 855

【OCPP】ocpp1.6协议3.3章节:功能配置文件及接口

Smart Charging Profile中定义了4个接口请求,即GetCompositeSchedule、ClearChargingProfile、SetChargingProfile和ClearCache等。Smart Charging: 包含智能充电相关的功能,如计划充电,报告充电计划,并改变充电速度。Core: 包含电动汽车充电相关的基础功能,如启动和停止充电,更改充电配置,报告充电状态等。Reservation: 包含预约服务相关的功能,如创建,取消和更改预约。

qq_53871375的博客 2170

Traefik与Nginx深度对比:云原生时代反向代理选型指南

反向代理与负载均衡是构建现代分布式系统的核心技术,负责接收客户端请求并将其高效、可靠地分发至后端服务。其工作原理通常基于预定义的路由规则,通过算法(如轮询、最少连接)分配流量,以提升应用可用性、扩展性与安全性。在云原生和微服务架构成为主流的今天,这项技术的价值尤为凸显,它能简化服务发现、实现灰度发布,并集中处理SSL/TLS终止等通用功能。面对动态伸缩的容器化环境,如何选择与运维合适的反向代理解决方案,成为保障服务稳定性的关键。本文聚焦于业界两大主流工具——以高性能和静态配置著称的Nginx,以及与Kube

weixin_33978044的博客 675

YOLOv11【第三章:高阶应用与落地篇·第7节】多任务联合训练(Multi-Task Learning):检测+分割+关键点三头并进!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 727

Traefik与Nginx深度对比:云原生网关选型与实战指南

在微服务架构中,反向代理和API网关是流量管理的核心技术组件,负责请求路由、负载均衡和安全防护。其核心原理是通过监听入口流量,根据预定义规则将请求分发到后端服务集群,实现服务发现和流量控制。从技术价值看,现代网关不仅提升系统可扩展性和可用性,还通过集中式管理简化了安全策略实施和监控集成。在容器化和动态伸缩成为主流的应用场景下,传统静态配置网关面临自动化挑战,而动态服务发现网关应运而生。本文聚焦于云原生环境中的网关选型,深入对比Traefik和Nginx在微服务治理、动态路由和自动化运维方面的差异,为容器化部

weixin_34037173的博客 438

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

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

XGBoost模型生产化实战:从Jupyter到日均4.2亿请求的稳定服务

机器学习模型服务化(Model Serving)是将训练好的算法转化为高可用、低延迟、可观测在线服务的关键环节。其核心在于解耦特征计算、模型推理与请求编排,规避资源争抢与单点故障;通过内存映射、分阶段加载等技术优化冷启动性能,保障秒级就绪;结合语义化路由、灰度发布与多维健康度监控(如特征新鲜度、预测漂移),实现业务可感知的稳定性。本文以电商搜索排序场景下的XGBoost模型为实例,深入解析模型服务化落地中的架构设计、容器资源精算、gRPC通信优化及K8s原生运维实践,覆盖从Notebook到Producti

weixin_30735745的博客 345

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Nginx核心原理与高并发实战:事件驱动、反向代理与生产避坑指南

Nginx是一种基于事件驱动模型的高性能HTTP服务器与反向代理,其单线程异步非阻塞架构显著区别于传统多线程Web服务器(如Apache),在高并发场景下具备极低内存占用与超高吞吐能力。它通过epoll/kqueue机制实现万级连接复用,结合模块化配置体系,可灵活承担静态服务、API网关、负载均衡、SSL终结等多重角色。技术价值体现在毫秒级响应、零拷贝传输(sendfile)、智能缓存控制及HTTP/2与Brotli压缩支持。典型应用场景包括Vue/React前端路由404修复、502 Bad Gatewa

weixin_30512043的博客 435
上一篇: Go并发调度进阶-GMP初始化,最难啃的有时候耐心看完还是很简单的
下一篇: Go并发调度进阶-循环调度,不是你理解的死循环
stackfuture
博客等级 码龄5年 23粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值