LVS集群前端
(一)硬件:成本会很高mysql
(二)软件:成本较低,实现快。linux
四层(路由设备分发到不一样设备):nginx
LVSweb
七层:算法
nginx(有限的七层协议)sql
实现:http,smtp,pop3,imap后端
haproxy服务器
实现:http,tcp(mysql,smtp)网络
四层负载均衡和七层负载均衡的不一样:
一、四层只辅助解析三层和四层协议,具体的内容它不会作处理。因不解析更高层协议性能会更好,可是高级特性没有(根据用户的特性来作负载均衡如:web服务器中请求的url)
二、七层反向代理负载均衡设备,为某些特定的协议来提供的,所以它能够去精确的解剖它对应的协议,并且能在这个协议的基础上修改以后,向后作负载均衡的,全部在前端就能够实现处理。操做能力更强,可是性能略逊于四层。
三、提供解决方案时,根据本身项目的要求和需求来制订方案。
一、概念:LVS是一台负载均衡设备。本身不提供服务,经过接受用户请求,而后转发给后端服务器。
二、LVS工做原理:
解析:
2.一、LVS的转发
LVS集群设备的转发是经过用户访问本身的IP+端口来确认的,后方的服务器是须要监听来访问的端口的。
好比:web服务是80和433,那么后方的服务器(A,B,C)都会监听这个两个端口的。
(一)调度算法: 挑选一个后端服务器接收一个用户的新请求的计算机制。
计算机制:根据用户请求时的IP+端口,来断定是否转发及转发到什么地方。
2.一、LVS中3种类型(IP网络的转换):
总体过程:
基本法则:
一、(RIP)集群节点跟必需要跟DIP在同一IP网路中;
二、RIP一般是私有地址,仅用于各集群节点间的通讯;
三、DIP位于CIP和RIP之间,并负责处理进出的全部通讯;
四、RIP必须把网关指向DIP;
五、支持端口映射,而且VIP提供服务端口能够和RIP端口不一样;
六、RIP能够是任意OS;
七、较大规模应用程序中,DIP易成为系统瓶颈。
基本法则:
一、集群节点跟DIP必须在同一个物理网络中(一个或几个交换机);
二、RIP地址能够是私有地址或是公网地址;
公网IP好处:若是VIP/DIP挂掉,CIP能够直接访问VIP/RIP。
三、DIP仅负责处理入站请求,响应报文则由RIP直接发往客户端;
四、集群节点RIP不能将网关指向DIP;
五、不支持端口映射;
六、RIP能够是大多数系统(必须对VIP进行隐藏);
七、LVS-DR比LVS-NAT支持更多的RIP;
基本法则:
一、集群节点能够跨越互联网;
二、RIP必须是公网地址;
三、DIP仅负责处理入站请求,响应报文则RIP直接发往客户端;
四、RIP网管不能指向DIP;
五、只有支持隧道功能的OS才能用于RIP;
六、不支持端口映射;
一、iptables不能和LVS同用。
因iptables分段实现:
iptables写规则/netfilter检查规则来实现,LVS违反了iptales规则。
二、LVS分段:
ipvsadm:管理集群服务的命令行工具
ipvs:内核(实现监控),在linux2.6后内核中已经有ipvs这个机制。