负载均衡:将一个访问量特别大的应用分配到不同的服务器
上去来提供大的并发以及处理数据的能力。
高可用:将多台计算机结合起来,防止一台计算机出故障而
服务中断的情况,也就是主机的荣誉接管。
负载均衡器硬件:F5,BIG-IP
负载均衡软件:LVS ,Nginx,HAproxy
高可用软件:Heartbeat,Keepalived
成熟的集群架构有:LVS+Keepalived,
Nginx+keepalived,
DRBD+Heartbeat
LVS详解:
LVS全称linux virtual server;linux虚拟服务器,LVS集群有三层架构:
负载调度器(Director server):这是整个集群对外的前端机,负责将用户的请求发送到一组
真正提供服务的服务器上,而用户认为服务是来自一个ip上,这个ip
是虚拟的ip称为VIP。
服务器群组:由一组实际运行应用服务的机器组成,Realserver可以是web服务器,mail服务器,
ftp服务器等,每个Realserver之间通过高速的LAN或分布在各地的WAN连接,在
实际应用中Director Server也可以同时兼任Real server的角色
共享存储层:它为服务器群组提供一个共享的存储区,这样可以使服务器组拥有相同的内容
提供相同的服务。
LVS的ip负载均衡技术是通过IPVS模块来实现的,ipvs是lvs集群系统的核心软件,主要作用是安装在Director server上,同时在director server上虚拟出一个ip地址,用户必须通过这个虚拟的ip地址访问服务器,这个虚拟的ip地址称为vip。
用户的请求到达负载均衡器后,调度器如何把请求发送给real server节点,而realserver节点如何将数据返回给用户是ipvs实现的重点技术。
IPVS实现负载均衡的方式有三种:
VS/NAT (网络地址转换):当用户的请求到达调度器时,调度器将请求的报文的
目标地址(虚拟ip地址)改写成real server地址,同时将报文的目标端口也改为
real server相应的端口,同时调度器在hash表中记录这个连接,当这个连接的下
一个报文到达可以从hash表中得到原先先定的服务器的地址和端口执行同样的改写
操作,并将报文发送到原来选定的服务器上,服务器将数据返回给用户时,需要再次
经过负载调度器将报文的源地址和端口改为虚拟ip地址和相对应的端口,然后把数据
发送给用户完成真个负载调度过程。
VS/TUN :ip隧道技术实现虚拟服务器;这种方式的连接调度和管理与VS/NAT方式一样,只是报文
转发的方法不同,ip隧道将一个ip报文封装到另一个ip报文中的技术,这可以使目标
为一个ip地址的数据报文可以被封装和转发到另一个ip上,而这个Real server
将直接响应用户的请求,不再经过调度器
VS/DR 直接路由来实现虚拟服务器,连接调度和管理与前两种一样,但是报文的转发方法又有所
不同,通过改写请求报文的MAC地址将情趣发送到Real server,real server将响应
直接返回给用户,免去了隧道的开销,这种是性能最好的,但是要求
Director server与real server必须有一块网卡在同一个物理网段上。