服务器中的局域网

发布时间 2023-10-22 15:31:11作者: yunChuans

web服务器部署地点

现在一般使用b方式,即部署防火墙。
image

分担负载

当服务器的访问量上升时,增加服务器线路的带宽是有效的,但并不是网络变快了就可以解决所有的问题。在这种情况下,使用多台服务器来分担负载的方法更有效。这种架构统称为分布式架构。

要采用这样的方法,必须有一个机制将客户端发送的请求分配到每台服务器上。具体的做法有很多种,最简单的一种是将DNS服务器来分配。

当访问服务器时,客户端需要先向DNS服务器查询服务器的IP地址。如果在DNS服务器中填写多个名称相同的记录,则每次查询时DNS服务器都会按顺序返回不同的IP地址。这种方式称为轮询。但会有一定的问题。

负载均衡器

为了避免出现一些问题,可以使用一种叫负载均衡器的设备。使用负载均衡器时,首先要用负载均衡器的IP地址代替web服务器的实际地址,注册到DNS服务器上。

客户端会认为负载均衡器就是一台web服务器,并向其发送请求,然后由负载均衡器来判断,将请求转发给老台web服务器。

image

使用缓存分担负载(反向代理)

缓存服务器

除了使用多台功能相同的外部服务器分担负载之外,还有另一种方法就是将整个系统按功能分成不同的服务器,如web服务器、数据库服务器、缓存服务器就是一种按功能来分担负载的方法。

缓存服务器是一台通过代理机制对数据进行缓存的服务器,代理介于外部服务器和客户端之间,具有对web服务器访问进行中转的功能。当进行中转时,它可以将web服务器返回的数据保存在磁盘中,并可以代替web服务器将磁盘中的数据返回给客户端。

image

正向代理

刚才讲的是在外部服务器一端部署一个代理,然后利用其缓存功能来改善服务器的性能。还有一种方法是在客户端一侧部署缓存服务器,这称之为正向代理。

正向代理刚刚出现的时候,其目的之一就是缓存,这个目的和服务器端的缓存服务器相同。不过当时在向代理还有另外一个目的,那就是用来实现防火墙。

防火墙的目的是防止来自互联网的非法入侵,而要达到这个目的,最可靠的方法就是阻止互联网和公司内网之间的所有包,不过这样一来,公司员工就无法上外网了。

因此,还必须想一个办法让必要的包能够通过,这个办法就是利用代理。简单来说,代理的原理图如下,单位先接收来自客户端的请求消息,然后再转发到互联网中,这样就可以实现只允许通过必要的网络包了。这时候如果能够利用代理的缓存,那么效果就会更好。

image

透明代理(缓存)

内容分发服务(cdn)

缓存服务器部署在服务器端还是客户端,其效果是有差别的。如图a所示,当缓存服务器放在服务器端时,可以减轻web服务器的负载,但无法减少互联网中的流量。这一点上,将缓存服务器放在客户端更有效。互联网中会存在一些拥塞点,通过这些地方会比较花时间,如果在客户端部署缓存服务器,就可以不数或者少数这些用塞点的影响,让网络流量更稳定。

不过,客户端的缓存服务器是归客户端网络运营管理者所有的,外部服务器的运营者无法控制它。比如某网站的运营者觉觉得最近网站上增加了很多大容量的内容,因此想要增加缓存服务器的容量。如果缓存放在服务器端,那么网站运营者可以自己通过增加磁盘空间的方式进行扩容,但对于放在客户端的缓存就无能为力了。

这两种部署缓存服务器的方式各有利弊,但也有一种方式能够集合两者的优点,那就是像图C一样,web服务器运营者和网络运营商签约,将可以自己控制的缓存服务器放在客户端的运营商处。这样一来,我们就可以缓存缓存服务器部署在距离用户很近的地方,同时外部服务器运营者还可以控制这些服务器。

image