ITPub博客

首页 > 数据库 > 数据库开发技术 > 干货纯享丨威哥聊高并发场景下反向代理技术:Nginx

干货纯享丨威哥聊高并发场景下反向代理技术:Nginx

原创 数据库开发技术 作者:Finally_m 时间:2021-08-05 19:19:00 0 删除 编辑
点击上方"蓝字"
关注我们吧!

学习一门技术,按照威哥的思路,一定得先了解一下这是什么,有什么用,以及怎么用,这样的学习效率才是高效的。
NO.1  什么是Nginx?

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,
Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。
其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
NO.2  为什么使用Nginx?

在传统的Web项目中,并发量小,用户使用的少。所以在低并发的情况下,用户可以直接访问tomcat服务器,然后tomcat服务器返回消息给用户。
用户访问<-->Tomcat服务器而在互联网项目下,因单个tomcat默认并发量有限制。如果请求量过大,会产生如下问题:
  • Tomcat8 默认配置的最大请求数是150,也就是说同时支持150个并发,当然了,也可以将其改大。 

  • 当某个应用拥有250个以上并发的时候,应考虑应用服务器的集群。 

  • 具体能承载多少并发,需要看硬件的配置,CPU越多性能越高,分配给 JVM 的内存越多性能也就越高,但也会加重 GC 的负担。 

  • 操作系统对于进程中的线程数有一定的限制: 

    Windows 每个进程中的线程数不允许超过 2000 

    Linux 每个进程中的线程数不允许超过 1000

    在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间用于作为线程栈

    之用。

  • Tomcat的最大并发数是可以配置的,实际运用中,最大并发数与硬件性能和CPU数量都有很大关系的。更好的硬件,更多的处理器都 会使Tomcat支持更多的并发。 

    maxThreads="150" 最大并发数 

    minSpareThreads="10"///初始化时创建的线程数 

    maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。 

(1)高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指通过设计保证系统能够同时并行处理很多请求。
高并发相关常用的一些指标有响应时间(Response Time)丨吞吐量(Throughput)丨每秒查询率QPS(Query Per Second)并发用户数等。
  • 响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。

  • 吞吐量:单位时间内处理的请求数量。

  • QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。

  • 并发用户数:同时承载正常使用系统功能的用户数量。

(2)高可用(High Availability):通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。(一直都能用 99.9999%) 
(3)高性能:是指服务响应时间快,(CPU/处理器/内存)特别是在高并发下响应时间不会急剧增加。
NO.3 Nginx特点是什么?

  • 高并发、高性能

  • 可扩展性好

  • 高可靠性热部署

  • BSD许可证

除此之外,Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。
反向代理:
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
正向代理:
是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

   

正向代理和反向代理区别?
正向代理,是在客户端的。比如需要访问某些国外网站,我们可能需要购买vpn。并且vpn是在我们的用户浏览器端设置的(并不是在远端的服务器设置)。浏览器先访问vpn地址,vpn地址转发请求,并最后将请求结果原路返回来。
反向代理是作用在服务器端的,是一个虚拟ip(VIP)。对于用户的一个请求,会转发到多个后端处理器中的一台来处理该具体请求。
NO.4  Nginx怎么下载?

官方网址: http://nginx.org/ 


   往期精彩  

重磅更新丨《Java架构进阶之-Nginx 课程》视频教程发布!
涛声依旧丨锋迷商城项目更新至443集速来!
大厂面试丨P7程序员如何解答数据库索引?!
面试干货丨索尔MySQL进阶课程强势来袭!
涛哥上新|SpringMVC入门实战经典教程重磅来袭!

文末互动福利

关于Nginx你有什么想法,留言区说一下吧!

点赞最多的同学将获得千锋系列丛书一本




扫码添加助理老师

领取Nginx全套视频资料



关注【Java架构栈】 干货学习速享

原文作者:Java架构栈;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-04-13

  • 博文量
    573
  • 访问量
    243760