java架构师面试题—— Nginx篇

Nginx 面试 40 问 正文什么是Nginx?Nginx 有哪些优点?Nginx应用场景?Nginx怎么处理请求的?Nginx 是如何实现高并发的?什么是正向代理?什么是反向代理?反向代理服务器的优点是什么?Nginx目录结构有哪些?Nginx配置文件nginx.conf有哪些属性模块?cookie和session区别?为什么 Nginx 不使用多线程?nginx和apache的区别什么是动态资源、静态资源分离?为什么要做动、静分离?什么叫 CDN 服务?Nginx怎么做的动静分离?Nginx负载均衡的算法怎么实现的?策略有哪些? 阅读详情

1、简述一下什么是Nginx,它有什么优势和功能?

Nginx是一个web服务器和f an向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。

因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Nginx---Ngine X,是一款免费的、自由的、开源的、高性能HTTP服务器和反向代理服务器;

也是一个IMAP、POP3、SMTP代理服务器;Nginx以其高性能、稳定性、丰富的功能、简单的

配置和低资源消耗而闻名。

也就是说Nginx本身就可以托管网站(类似于Tomcat一样),进行Http服务处理,也可以作为

反向代理服务器 、负载均衡器和HTTP缓存。

Nginx 解决了服务器的C10K(就是在一秒之内连接客户端的数目为10k即1万)问题。它的设

计不像传统的服务器那样使用线程处理请求,而是一个更加高级的机制—事件驱动机制,是一

种异步事件驱动结构。

优点:

(1)更快 这表现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应;另一方面,

在高峰期(如有数以万计的并发请求),Nginx可以比其他Web服务器更快地响应请求。

(2)高扩展性,跨平台 Nginx的设计极具扩展性,它完全是由多个不同功能、不同层次、不同类型

且耦合度极低的模块组成。因此,当对某一个模块修复Bug或进行升级时,可以专注于模块自身,

无须在意其他。而且在HTTP模块中,还设计了HTTP过滤器模块:一个正常的HTTP模块在处理完请

求后,会有一串HTTP过滤器模块对请求的结果进行再处理。这样,当我们开发一个新的HTTP模块

时,不但可以使用诸如HTTP核心模块、events模块、log模块等不同层次或者不同类型的模块,还

可以原封不动地复用大量已有的HTTP过滤器模块。这种低耦合度的优秀设计,造就了Nginx庞大的

第三方模块,当然,公开的第三方模块也如官方发布的模块一样容易使用。 Nginx的模块都是嵌入

到二进制文件中执行的,无论官方发布的模块还是第三方模块都是如此。这使得第三方模块一样具

备极其优秀的性能,充分利用Nginx的高并发特性,因此,许多高流量的网站都倾向于开发符合自

己业务特性的定制模块。

(3)高可靠性:用于反向代理,宕机的概率微乎其微 高可靠性是我们选择Nginx的最基本条件,因

为Nginx的可靠性是大家有目共睹的,很多家高流量网站都在核心服务器上大规模使用Nginx。

Nginx的高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性;另外,官方提供的常用

模块都非常稳定,每个worker进程相对独立,master进程在1个worker进程出错时可以快速“拉

起”新的worker子进程提供服务。

(4)低内存消耗 一般情况下,10 000个非活跃的HTTP Keep-Alive连接在Nginx中仅消耗2.5MB的

内存,这是Nginx支持高并发连接的基础。

(5)单机支持10万以上的并发连接 这是一个非常重要的特性!随着互联网的迅猛发展和互联网用

户数量的成倍增长,各大公司、网站都需要应付海量并发请求,一个能够在峰值期顶住10万以上并

发请求的Server,无疑会得到大家的青睐。理论上,Nginx支持的并发连接上限取决于内存,10万

远未封顶。当然,能够及时地处理更多的并发请求,是与业务特点紧密相关的。

(6)热部署 master管理进程与worker工作进程的分离设计,使得Nginx能够提供热部署功能,即

可以在7×24小时不间断服务的前提下,升级Nginx的可执行文件。当然,它也支持不停止服务就更

新配置项、更换日志文件等功能。

(7)最自由的BSD许可协议 这是Nginx可以快速发展的强大动力。BSD许可协议不只是允许用户免

费使用Nginx,它还允许用户在自己的项目中直接使用或修改Nginx源码,然后发布。这吸引了无数

开发者继续为Nginx贡献自己的智慧。 以上7个特点当然不是Nginx的全部,拥有无数个官方功能模

块、第三方功能模块使得Nginx能够满足绝大部分应用场景,这些功能模块间可以叠加以实现更加

强大、复杂的功能,有些模块还支持Nginx与Perl、Lua等脚本语言集成工作,大大提高了开发效

率。这些特点促使用户在寻找一个Web服务器时更多考虑Nginx。 选择Nginx的核心理由还是它能

在支持高并发请求的同时保持高效的服务。

2、Nginx是如何处理一个HTTP请求的呢?

Nginx 是一个高性能的 Web 服务器,能够同时处理大量的并发请求。它结合多进程机制和异步机制

,异步机制使用的是异步非阻塞方式 ,接下来就给大家介绍一下 Nginx 的多线程机制和异步非阻塞

机制 。

1、多进程机制

服务器每当收到一个客户端时,就有 服务器主进程 ( master process )生成一个 子进程(

worker process )出来和客户端建立连接进行交互,直到连接断开,该子进程就结束了。

使用进程的好处是各个进程之间相互独立,不需要加锁,减少了使用锁对性能造成影响,同时降低

编程的复杂度,降低开发成本。其次,采用独立的进程,可以让进程互相之间不会影响 ,如果一个

进程发生异常退出时,其它进程正常工作, master 进程则很快启动新的 worker 进程,确保服务

不会中断,从而将风险降到最低。

缺点是操作系统生成一个子进程需要进行 内存复制等操作,在资源和时间上会产生一定的开销。当

有大量请求时,会导致系统性能下降 。

2、异步非阻塞机制

每个工作进程 使用 异步非阻塞方式 ,可以处理 多个客户端请求 。

当某个 工作进程 接收到客户端的请求以后,调用 IO 进行处理,如果不能立即得到结果,就去 处理

其他请求 (即为 非阻塞 );而 客户端 在此期间也 无需等待响应 ,可以去处理其他事情(即为 异

步 )。

当 IO 返回时,就会通知此 工作进程 ;该进程得到通知,暂时 挂起 当前处理的事务去 响应客户端

请求 。

3、列举一些Nginx的特性

1. Nginx服务器的特性包括:

2. 反向代理/L7负载均衡器

3. 嵌入式Perl解释器

4. 动态二进制升级

5. 可用于重新编写URL,具有非常好的PCRE支持

4、请列举Nginx和Apache 之间的不同点

5、在Nginx中,如何使用未定义的服务器名称来阻止处理请求?

只需将请求删除的服务器就可以定义为:

Server{

listen 80;

server_name "";

return 444;

}

这里,服务器名被保留为一个空字符串,它将在没有“主机”头字段的情况下匹配请求,而一个特殊

的Nginx的非标准代码444被返回,从而终止连接。

一般推荐 worker 进程数与CPU内核数一致,这样一来不存在大量的子进程生成和管理任务,避免

了进程之间竞争CPU 资源和进程切换的开销。而且 Nginx 为了更好的利用 多核特性 ,提供了 CPU

亲缘性的绑定选项,我们可以将某一个进程绑定在某一个核上,这样就不会因为进程的切换带来

Cache 的失效。

对于每个请求,有且只有一个工作进程 对其处理。首先,每个 worker 进程都是从 master进程

fork 过来。在 master 进程里面,先建立好需要 listen 的 socket(listenfd) 之后,然后再 fork 出

多个 worker 进程。

所有 worker 进程的 listenfd 会在新连接到来时变得可读 ,为保证只有一个进程处理该连接,所有

worker 进程在注册 listenfd 读事件前抢占 accept_mutex ,抢到互斥锁的那个进程注册 listenfd 读

事件 ,在读事件里调用 accept 接受该连接。

当一个 worker 进程在 accept 这个连接之后,就开始读取请求、解析请求、处理请求,产生数据

后,再返回给客户端 ,最后才断开连接。这样一个完整的请求就是这样的了。我们可以看到,一个

请求,完全由 worker 进程来处理,而且只在一个 worker 进程中处理。

在 Nginx 服务器的运行过程中, 主进程和工作进程 需要进程交互。交互依赖于 Socket 实现的管道

来实现。

6、请解释Nginx服务器上的Master和Worker进程分别是什么?

主程序 Master process 启动后,通过一个 for 循环来 接收 和 处理外部信号 ;

主进程通过 fork() 函数产生 worker 子进程 ,每个子进程执行一个 for循环来实现Nginx服务器

对事件的接收和处理 。

7、请解释代理中的正向代理和反向代理

首先,代理服务器一般指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服

务器一般作用在客户端。例如:GoAgent翻墙软件。我们的客户端在进行翻墙操作的时候,我们使

用的正是正向代理,通过正向代理的方式,在我们的客户端运行一个软件,将我们的HTTP请求转发

到其他不同的服务器端,实现请求的分发。

反向代理服务器作用在服务器端,它在服务器端接收客户端的请求,然后将请求分发给具体的服务

器进行处理,然后再将服务器的相应结果反馈给客户端。Nginx就是一个反向代理服务器软件。

从上图可以看出:客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,

还有代理程序的端口。 反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务

器,并且客户端不需要进行任何特别的设置。客户端向反向代理的命名空间(name-space)中的

内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给

客户端。

8、解释Nginx用途

Nginx服务器的最佳用法是在网络上部署动态HTTP内容,使用SCGI、WSGI应用程序服务器、用于

脚本的FastCGI处理程序。它还可以作为负载均衡器

Java架构师必备框架技能核心笔记,Java自学教程 金三银四到了,送上一个小福利!金三银四到了,送上一个小福利![外链图片转存中…(img-5tvtyVFu-1710002960381)][外链图片转存中…(img-i1G7nawX-1710002960382)][外链图片转存中…(img-ynNIqX9H-1710002960382)]本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录。 阅读详情

相关推荐

射频工程师笔记---射频通信基础

回顾一下移动通信技术的发展,其实是互联网和通信技术的融合过程。在这个过程中,很多应用都在不断加入其中。比如计算机跟通信的融合产生了互联网、互联网跟手机的融合带来了移动互联网。手机可以看杂志、看视频、听音乐,于是又出现了内容服务产业;再后来,电视音箱等设备也能联网,于是网络跟家电又产生了融合。所以应用的出现总是在融合其他产业。在1995年,比尔·盖茨在《未来之路》一书中首次提出:在未来...

多年硬件从业经历,热爱学习,记录生活! 2万+

java面试题 -Nginx 一篇文章搞懂nginx (九)

Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。正向代理和反向代理是两种不同的代理服务器配置,它们在工作原理和使用场景上有着明显的区别。

qq_15363475的博客 2853

K2P padavan固件下宽带与IPTV融合

举例说下,假如你的IPTV是拨号的,IPTV端口直接连到笔记本电脑的网口,IP是自动分配的情况下,在VLC里面是可以直接播放“rtp://239.XXX.XXX.XXX:XXXX”的,即使IPTV是DHCP模式,按道理也是可以播放的。家里很少看电视,基本上就是看看春晚,然后平时老人在家没事看看,所以就把广电的机顶盒停掉了,换了一个N1的盒子刷了CoreELEC系统,既可以通过m3u8文件看网络电视,也可以看本地的多媒体,很方便,完全满足了自己的需求。在上图的第三步中,端口设置成大于1024的端口即可。

aplsc的专栏 63万+

【2022最新Java面试宝典】—— Nginx面试题(23道含答案)

无

m0_52184592的博客 934

解锁全志T113-i隐藏技能:用RISC-V核跑实时系统比STM32还稳?

本文深入探讨了全志T113-i SoC的异构架构潜力,重点解析如何利用其内置的玄铁C906 RISC-V核心独立运行实时系统。通过对比传统MCU与Linux方案,文章提供了从RISC-V核心启动、FreeRTOS移植到与Linux主核进行高效异构通信的完整实战指南,为工控等需要兼顾丰富应用与硬实时控制的场景提供了高集成度的单芯片解决方案。

ansible6ops的博客 495

onnxruntime-gpu版本选择与CUDA环境配置实战指南

本文是onnxruntime-gpu版本选择与CUDA环境配置的实战指南。针对AI模型部署中常见的GPU无法调用问题,核心在于确保onnxruntime-gpu版本与系统CUDA Toolkit版本严格匹配。文章详细讲解了如何精准确定CUDA版本、查找官方对应关系、执行正确安装命令,并通过完整测试脚本验证GPU是否成功启用,最后提供了常见问题排查与生产环境调优建议。

weixin_29164091的博客 525

java面试题之nginx篇

Nginx是一个 轻量级/高性能的反向代理Web服务器,他实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,官方监测能支持5万并发,现在中国使用nginx网站用户有很多,例如:新浪、网易、 腾讯等。代理就相当于中间商,本来A和B是可以直接连接的,但是此时添加了一个C在中间,A跟B不直接连接,而是通过C作为中介进行连接。

wang20010104的博客 1141

基于FPGA的万兆以太网学习(1)

万兆(10G) 以太网测速视频:SFP+屏蔽笼可以插入千兆或万兆光模块。SFP+信号定义与 SFP 一致。

baidu_34971492的博客 2250

JAVA:Nginx 常见面试题的技术指南

答:Nginx是一款高性能的Web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议,同时用于处理高并发的请求,提供快速、可靠的服务。答:C10K问题是指无法同时处理大量客户端(10,000)的网络套接字。为每个连接分配一个独立的线程/进程。同一个线程/进程同时处理多个连接(IO 多路复用)

木头 4712

【QT/C++】事件过滤器之基于重写 eventFilter 方法的多种常见应用场景及实现

Qt事件过滤器通过重写eventFilter方法实现多种实用功能:1)鼠标事件处理(点击全选文本、禁用滚轮、悬停提示);2)键盘事件处理(输入内容限制、快捷键提交);3)焦点事件处理(自动弹出下拉框、实时验证);4)绘图事件处理(自定义控件绘制);5)窗口事件处理(防止意外关闭、尺寸限制)。事件过滤器提供非侵入式的事件处理方案,相比传统子类化方式更灵活,通过installEventFilter安装到目标控件即可实现各种交互增强功能。

yuhuasheng1997的博客 1484

机器人中的数值优化(十四)——罚函数法(Penalty Method)、障碍函数法(Barrier Method)、拉格朗日松弛法(Lagrangian Relaxation)

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例

慕羽★的博客 5222

免费Java高级工程师学习资源,看这篇足矣了!

Java架构进阶之面试篇 面试这一块,分别有基础、中级、高级等三部分,一步一步检测。 Java基础面试+解析 Java中级开发面试+解析 Java高级面试+解析 Java架构进阶之技能导图篇 筑基 框架 分布式 微服务 Java架构进阶之架构筑基篇 架构筑基篇:Java基础+并发编程+JVM+MySQL+Tomcat+网络+数据结构与算法 JAVA基础:反射+注解+内部类+泛型+序列化+复制 并发编程 JVM MySQL Tomcat架

m0_57624732的博客 212

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

一线架构师突击SpringBoot,Cloud,Nginx与Docker,带你玩转Java

前言 架构师始终是一-个比较神秘的角色,就像架构一样,好像也没有一个定论。 每个人心中的架构师都是不一样的,并且有一一个规律,都把自己搞不定的事情交给架构师,以为架构师就是能搞定自己搞不定的事情的人。那么究竟什么是架构?什么又是架构师呢? 今天,就由某一线大厂架构师,手撕SpringBoot、SpringCloud、Nginx、Docker,带你玩转架构技术! 注意:以下所有面试题(含答案...

芒果不是程序猿v: 的博客 339

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

efm32 入门.pdf

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

Java架构师面试专题系列(含答案)

Java架构师面试专题系列(含答案),年底福利限时领取! java架构交流 2018-12-31 16:51:08 学习是一份苦差事,这句话真的不是说说而已,真的是你认真学习过,才会懂得,学习是多么的辛苦,这点我深有体会,但是我还是想说,没办法,想要更好的生活,你就要不断地努力学习。 所幸的是,程序员这个行业,学习和回报率是要高于其他行业的,不断提升自己的技术水平和认知,是绝对没有坏处的。 ...

u013322876的博客 1万+

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

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

阿里P7架构师开源分享2023最新897道java面试题答案

7) 什么是原子操作,Java 中的原子操作是什么?6.内存调优 7.垃圾回收策略调优 8.共享 session 处理 9.专业点的分析工具有 10.关于 Tomcat 的 session 数目 11.监视 Tomcat 的内存使用情况 12.打印类的加载情况及对象的回收情况 13.Tomcat 一个请求的完整过程 14.Tomcat 工作模式?activeMQ 是一种开源的,实现了 JMS1.1 规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信;

代码界的扛把子 524

2025 最新一线大厂 Java 高级架构师面试题总结

本篇主要给大家分享的是 2025 年最新(整合的是金三银四和最近两个月的)一线大厂 Java 基础到高级架构师全栈面试题总结(含答案)。这份小册共涵盖了以下几个大的部分:Java 基础、进阶、字符串、集合等等基础内容Java 并发编程JVM 面试题数据结构与算法网络协议面试题数据库框架相关面试题微服务中间件相关Linux其中数据库部分中有:MySQL、Redis、MongoDB。

m0_50180963的博客 492

BAT架构师技术文档:Redis+Nginx+Dubbo精选+面试题+架构师精选视频(免费领)

最近花了很长的时间去搜罗整理Java核心技术好文,我把每个Java核心技术的优选文章都整理成了一个又一个的文档。今天就把这些东西分享给老铁们,也能为老铁们省去不少麻烦,想学什么技能了,遇...

优快云资讯 1877

Java最全JAVA 责任链设计模式,nginx面试题汇总

我还为大家准备了一套体系化的架构师学习资料包以及BAT面试资料,供大家参考及学习已经将知识体系整理好(源码,笔记,PPT,学习视频)本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录需要这份系统化的资料的朋友,可以点击这里获取(在这里发挥的作用是,掌控大局)/****/Sign();else {= null){= null) {else {System.out.println(“请假太久了,不批不批!”);

q424042373的博客 713

2023 最新一线大厂 Java 高级架构师面试题总结

本篇主要给大家分享的是 2021 年最新(整合的是金三银四和最近两个月的)一线大厂 Java 基础到高级架构师全栈面试题总结(含答案)。这份小册共涵盖了以下几个大的部分:Java 基础、进阶、字符串、集合等等基础内容Java 并发编程JVM 面试题数据结构与算法网络协议面试题数据库框架相关面试题微服务中间件相关Linux其中数据库部分中有:MySQL、Redis、MongoDB。

m0_50180963的博客 264

java架构师进阶必备书单

java基础知识篇 java编程思想java并发编程的艺术effective java第三版 数据库篇 深入浅出mysql第二版高性能mysql第三版mongodb权威指南 缓存篇 redis开发与运维redis设计与实现第二版 服务器软件篇 nginx从入门到精通tomcat权威指南apache官方文档 网络篇 http权威指南tcp/ip协议1(个人建议看1就够了) 消息队列篇 rabbitmqkafkajms 架构篇 分布式服务架构原理与实践大型网站系统与Java中间件实践 linux相关 鸟叔的l.

muli523的博客 428

JAVA架构师面试题 一

基础题目 Java线程的状态 进程和线程的区别,进程间如何通讯,线程间如何通讯 HashMap的数据结构是什么?如何实现的。和HashTable,ConcurrentHashMap的区别 Cookie和Session的区别 索引有什么用?如何建索引? ArrayList是如何实现的,ArrayList和LinkedList的区别?ArrayL...

509

2022 最新一线大厂 Java 高级架构师面试题总结~

总共包含32份面试题,下面就给大家一一做介绍 7道消息队列ActiveMQ面试题 1.什么是 ActiveMQ? activeMQ 是一种开源的,实现了 JMS1.1 规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信; 2. ActiveMQ 服务器宕机怎么办? 丢消息怎么办? 持久化消息非常慢。 消息的不均匀消费。 死信队列。 ActiveMQ 中的消息重发时间间隔和重发次数吗? Redis + Memcached 经典面试题 1 Redis 相比 me

zihong522的博客 550

阿里技术官免费赠送SpringBoot+微服务+Nginx+Docker+Tomcat 想进大厂还不敢快冲?

我想问下大家当初选择做程序员的初衷是什么?有思考过这个问题吗?高薪?热爱?既然入了这行就应该知道,这个行业是靠本事吃饭的,你想要拿高薪没有问题,请好好磨练自己的技术,不要抱怨。有的人通过培训可以让自己成长,有些人可以通过自律强大的自学能力成长,如果你两者都不占,还怎么拿高薪?架构师是很多程序员的职业目标,一个好的架构师是不愁所谓的35岁高龄门槛的,到了那个时候,照样大把的企业挖他。为什么很多人想进阿里巴巴,无非不是福利待遇好以及优质的人脉资源,这对个人职业发展是有非常大帮助的。

2401_84585234的博客 851

java架构师成长之路_java架构师学习之路

一:并发编程 + activemq + 实战案例并发编程基础篇第一天1、课程大纲简要介绍2、线程基础概念、线程安全概念、多个线程多个锁概念3、对象锁的同步和异步4、脏读概念、脏读业务场景、Synchronized概念、Synchronized代码块、Synchronized其他细节微云学习地址:https://share.weiyun.com/5mokPqU网盘学习地址:https://pan.b...

weixin_34233539的博客 344
上一篇: java架构师面试题——SpringCloud篇
下一篇: java架构师面试题—— MQ篇
杜引强
博客等级 码龄13年 806粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值