关于集群与分布式及正向代理与反向代理的初步总结

集群与分布式

集群就是多台计算机进行连接,每台计算机上部署的应用是一致的,集群的目的是提高整个系统的高并发时的稳定性,当有一台服务器挂掉时,其他的服务器可以顶上来,不会出现服务器挂掉后整个网站崩溃的情况。

分布式是由多个计算机组成的系统,每台计算机运行整个系统中一个模块,分布式提高了系统处理数据的效率。

集群与分布式的区别可以用以下例子区别:

假如有一个任务有10个子任务,每个子任务需要花1个小时处理完成,去过使用分布式系统,在10台计算机上分别部署这10个子任务,那么完成一个任务的时间为1小时。当使用几群的时候,10台计算机由于部署的任务一致,不管请求最终分发到哪台服务器上,完成的时间都为10小时。

用这两种方式的利弊在于在效率与稳定性上边做取舍。

正向代理与反向代理

正向代理类似于科学上网,假如你要上谷歌,请求直接发到谷歌服务器会直接被屏蔽掉,但是如果你在国外安置一台服务器,你的请求发到这台服务器,再由这台服务器转发至谷歌,那么你的目的就达到了。这台在国外的服务器就是正向代理的服务器。客户端知道要访问的服务器是哪个,但服务器不知道客户端是哪个,这就是正向代理。

反向代理类似于你访问百度,百度官网只不过是一个代理服务器,你不知道你的请求由百度那么多服务器中哪台服务器处理了,你的请求由那台服务器转发至代理服务器认为比较合适的服务器来处理。客户端不知道目标服务器,由代理服务器转发请求,这就是反向代理。

注:反向代理服务器中比较有名的是Nginx服务器,它是由俄罗斯人开发的,在处理高并发的时候十分有效,可以自动分发请求,也可以自动检测到服务器的状态。并且Nginx可以作为文件服务器来使用。