什么是反向代理与负载均衡
明确在上网冲浪的过程中,我们浏览的网页及对应的应用程序应当是存放在服务器中, 更加具体来说这些应用程序是存放在某个物理机上的,这个物理机也就是服务器了。个人的电脑也可以作为服务器,但是个人电脑性能比较低,我们可以选择性能比较高的硬件作为专门的服务器。那么对于一个服务器来说应当包含的是:服务器=高性能可存储应用程序硬件+操作系统+服务器软件。服务器软件有:Apache 、Tomcat、Nginx。
对于Nginx的定位:Nginx是服务器软件,最为基本和最为重要的功能是:与硬件结合,发布应用程序。除此之外Nginx还是高性能HTTP和反向代理服务器,同时可以代理邮件服务器。即Nginx可以完成的功能是发布网站(服务程序),实现负载均衡,实现收发邮件功能。负载均衡是指:当N个用户同时访问我们的服务的时候,为降低服务器的压力,可以将访问分别引入已经部署好的服务器上,分担访问压力。负载均衡的目的是,防止单个服务器压力过大,服务器崩溃,瘫痪。此时描述就是我们默认是服务器集群,就是对于同一套应用程序我们部署到多台含有服务器软件的硬件程序上。
在上图中用户访问请求都会想经过Nginx服务器,Nginx服务器会根据服务器1,服务器2当前的访问压力合理的将请求转发给服务器1/2来对该请求进行响应。Nginx服务器是不处理用户的请求的。
Nginx服务器与其他服务器的比较:
1、与IIS服务器的比较,IIS服务器是Windows服务器性能要比Linux类的服务器性能低,Tomcat相对Nginx服务器较重,且面向的是java语言,Apache服务器是较为稳定且是开源跨平台的服务器,但是其缺点是不支持高并发,高并发是指N多用户同时访问服务器。Nginx是可以处理百万级别的TCP连接,10万以上的并发连接且跨平台。
2、Nginx服务器的优缺点:
优点是:实现高并发,部署简单,内存消耗少,成本低
缺点是:rewrite不够强大,模块没有Apache多。