负载均衡之LVS集群

LVS集群前端

1、负载均衡实现分类:

  (一)硬件:成本会很高mysql

  • F5,BIG IP
  • Citrix,Netscaler
  • A10

   (二)软件:成本较低,实现快。linux

          四层(路由设备分发到不一样设备):nginx

               LVSweb

          七层:算法

               nginx(有限的七层协议)sql

                  实现:http,smtp,pop3,imap后端

               haproxy服务器

                  实现:http,tcp(mysql,smtp)网络

四层负载均衡和七层负载均衡的不一样:

        一、四层只辅助解析三层和四层协议,具体的内容它不会作处理。因不解析更高层协议性能会更好,可是高级特性没有(根据用户的特性来作负载均衡如:web服务器中请求的url)

        二、七层反向代理负载均衡设备,为某些特定的协议来提供的,所以它能够去精确的解剖它对应的协议,并且能在这个协议的基础上修改以后,向后作负载均衡的,全部在前端就能够实现处理。操做能力更强,可是性能略逊于四层。

       三、提供解决方案时,根据本身项目的要求和需求来制订方案。

2、LVS虚拟服务器

    一、概念:LVS是一台负载均衡设备。本身不提供服务,经过接受用户请求,而后转发给后端服务器。

 

                   

 

 

  二、LVS工做原理:

 

解析:

                       

2.一、LVS的转发

         LVS集群设备的转发是经过用户访问本身的IP+端口来确认的,后方的服务器是须要监听来访问的端口的。

         好比:web服务是80和433,那么后方的服务器(A,B,C)都会监听这个两个端口的。

       (一)调度算法: 挑选一个后端服务器接收一个用户的新请求的计算机制。         

                计算机制:根据用户请求时的IP+端口,来断定是否转发及转发到什么地方。

    

2.一、LVS中3种类型(IP网络的转换):

总体过程:

(一)LVS-NAT(地址转换,企业通常不会使用)

             

基本法则:

           一、(RIP)集群节点跟必需要跟DIP在同一IP网路中;

           二、RIP一般是私有地址,仅用于各集群节点间的通讯;

           三、DIP位于CIP和RIP之间,并负责处理进出的全部通讯;

           四、RIP必须把网关指向DIP;

           五、支持端口映射,而且VIP提供服务端口能够和RIP端口不一样;

           六、RIP能够是任意OS;

            七、较大规模应用程序中,DIP易成为系统瓶颈。

(二)LVS-DR(直接路由)

 

基本法则:

    一、集群节点跟DIP必须在同一个物理网络中(一个或几个交换机);

             二、RIP地址能够是私有地址或是公网地址;

                  公网IP好处:若是VIP/DIP挂掉,CIP能够直接访问VIP/RIP。

             三、DIP仅负责处理入站请求,响应报文则由RIP直接发往客户端;

             四、集群节点RIP不能将网关指向DIP;

             五、不支持端口映射;

             六、RIP能够是大多数系统(必须对VIP进行隐藏);

              七、LVS-DR比LVS-NAT支持更多的RIP;       

(三)LVS-TUN(隧道)

 

基本法则:

          一、集群节点能够跨越互联网;

          二、RIP必须是公网地址;

          三、DIP仅负责处理入站请求,响应报文则RIP直接发往客户端;

          四、RIP网管不能指向DIP;

          五、只有支持隧道功能的OS才能用于RIP;

          六、不支持端口映射;

3、LVS注意:

       一、iptables不能和LVS同用。

            因iptables分段实现:

               iptables写规则/netfilter检查规则来实现,LVS违反了iptales规则。

       二、LVS分段:

          ipvsadm:管理集群服务的命令行工具

          ipvs:内核(实现监控),在linux2.6后内核中已经有ipvs这个机制。

相关文章
相关标签/搜索