1. 集群简介
多台主机提供相同的服务的一组序列就叫集群
简单地说,集群就是指一组(若干个)相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点(集群系统中的单个计算机通常称为节点)都是运行各自服务的独立服务器。在某种意义上,他们可以被看作是一台计算机。这些服务器之间可以彼此通信,协同向用户提供应用程序,系统资源和数据,并以单一系统的模式加以管理。集群计算机通常用来改进单个计算机的计算速度或可靠性。
1.2 集群的分类
- 负载均衡集群
- 高可用集群
- 高性能集群
负载均衡集群(LB)
目的是提升效率,一个人处理不过来就两个人,两个人处理不过来就三个人工作时,一般通过一个或者多个调度器将客户端访问请求发到后端一组服务器上这里会涉及到一个东西叫反向代理,方向代理和负载均衡是成双成对的,不可能单独出现的。
高可用集群(HA)
目的是保证关键性业务的可靠性,一主一备,平时主工作,备不工作,等到主挂了,备才会工作
高性能集群(HP)
一般都是政府用于科学研究、算法
1.3 集群的实现方式
软件方式
- lvs
- nginx
- haproxy
硬件方式
- F5
二者对比
软件
优点:基于系统与应用的负载均衡,能够更好地根据系统与应用的状况来分配负载。这对于复杂应用是很重要的,性价比高,实际上如果几台服务器,用F5之类的硬件产品显得有些浪费,而用软件就要合算得多,因为服务器同时还可以跑应用、做集群等。
缺点:负载能力受服务器本身性能的影响,性能越好,负载能力越大。
硬件
优点:能够直接通过智能交换机实现,处理能力更强,而且与系统无关,负载性能强,更适用于一大堆设备、大访问量、简单应用。
缺点:成本高,除设备价格高昂,而且配置冗余,很难想象后面服务器做一个集群,但最关键的负载均衡设备却是单点配置,无法有效掌握服务器及应用状态。
硬件负载均衡,一般都不管实际系统与应用的状态,而只是从网络层来判断,所以有时候系统处理能力已经不行了,但网络可能还来得及反应(这种情况非常典型,比如应用服务器后面内存已经占用很多,但还没有彻底不行,如果网络传输量不大就未必在网络层能反映出来)
2. 代理简介
所谓代理服务器就是位于发起请求的客户端与原始服务器端之间的一台跳板服务器,正向代理可以隐藏客户端,反向代理可以隐藏原始服务器。
2.1 正向代理
是一个位于客户端和目标服务器之间的服务器(代理服务器),为了从目标服务器取得内容,客户端向代理服务器发送一个请求并指定目标,然后代理服务器向目标服务器转交请求并将获得的内容返回给客户端。
2.2反向代理
以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
2.4 透明代理
客户端向真实服务器发起连接,代理机冒充服务器与客户端建立连接,并以客户端ip与真实服务器建立连接进行代理转发。因此对于客户端与服务器来说,代理机都是透明的。