LinuxLB--负载均衡和高可靠-创新互联

1、负载均衡典型应用场景,外网、内网、私网公共服务。LinuxLB--负载均衡和高可
靠

   典型场景:

站在用户的角度思考问题,与客户深入沟通,找到二道网站设计与二道网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟空间、企业邮箱。业务覆盖二道地区。

   (1)用户通过公网访问数据中心的ftp、web、https服务器。

   (2) 在数据中心内部东西向访问其他服务时,例如,访问其他虚拟机、DNS等公共服务。

   (3) 通过专线或者ipsec vpn访问数据中心内部服务时。

2、常见的负载均衡的技术

   硬件实现(2/3层):链路聚合、等价路由。

   软件实现(4/7层):LVS、nginx/haproxy、

DNS负载均衡:公网智能分配目的ip GSLB、内网DNS解析公共服务。

3、LVS的3种模式:NAT、DR、TUNNEL。

   NAT: 特点,流量来回路径一致,都要经过负载均衡器,通过DNAT转换,将目的ip修改为后端VM的ip,目的MAC修改为后端VM的MAC地址。

         缺点:当回程流量很大时,负载均衡器本身容易成为瓶颈。改进方案,使用DR模式。

   DR:特点,回程路径直接回到客户端。不需要NAT,后端服务器都需要配置环口ip为VIP,并且配置不响应VIP的arp请求。同时要求LVS分发器和后端VM在相同网段内,这个模式是主流。

缺点:要求后端VM和LVS分发头在相同网段。改进方案:LVS + haproxy.

   隧道模式:特点,负载均衡器和后端虚拟机不是直接相连,通过隧道打通,要求双方都要支持IPinIP协议。

   LVS + haproxy: 怎么解决跨网问题?

    http://blog.csdn.net/big1980/article/details/21932103

4、nginx和haproxy对比。

   一般情况下,在日访问量PV在3000万以下时,使用简单的DNS轮询配合监控,基本可以满足业务需求。

   超过3000万时,使用nginx作为反向代理。如果可靠性要求不高,使用单台nginx。否则,可以配置多台nginx进行负载分担。

   在3000万到1亿时,可以使用HAProxy+ keepalived --> nginx --> web 服务器集群。Haproxy负责TCP负载均衡,Nginx负责7层调度,nginx可以配置多台进行负载分担。

   超过1亿时,采用LVS+DR + Keepalived --> nginx --> web服务器集群。LVS-DR负责TCP负载均衡,nginx负责7层调度。此时可以考虑使用商业的netscaler替换LVS-DR。

5、单点故障问题。

   后端服务器可以有多个,消除了单点故障问题。可是负载均衡器本身是单节点,如何消除单点故障?

   解决方案有两种,双活和主备。

   双活:两个不同服务器上的LVS之间配置会话同步,互相同步,达到双活效果。上游通过交换机或者防火墙的ECMP进行等价分发。

   主备:结合keepalive协议,实现主备备份效果。通过结合不同层次,LVS + keepalive,  nginx + keepalive, haproxy + keepalive

6、对后端服务器的健康检查和转发权重设置。

   LVS、nginx、haproxy都支持健康检查。

7、会话保持

   通过源ip达到会话保持的效果,即将客户端分发给某个后端服务器后,后续该客户端的流量都指向相同的后端服务器,避免会话不存在而导致的生效问题。

   也就是说,通过源ip实现会话保持。

   会话保持的方法,还有http_cookie和app_cookie

7、证书卸载。

   客户端通过ssh或者https访问ssh服务器端,或者https访问web服务器时,证书如何识别和卸载?在nginx的配置项中可以指定证书文件,从而进行卸载。

8、负载分担的后端服务器的选择。

   三种算法:轮询算法、最少连接算法、源ip算法。

9、健康检查的模式

   ping、https、tcp、http

10、获取访问者的源ip

    负载均衡器将流量转发给后端服务器时,会修改报文的源ip(为何?),那么后端服务器处理时,如何分析出报文原始的源ip.

    对于4层负载均衡,可以选择DR模式,使源ip地址直接在后端的服务器可见。

    对于7层负载均衡,使用http头中的 http header: X-forward for来获得原始ip.

11. 网站的总入口的反向代理,一般使用nginx,因为nginx可以同时作为web服务器和负载均衡器。

12. 4层负载均衡时,当客户端和LVS之间建立TCP连接时,LVS会同步和某个后端服务器建立TCP连接。

   7层负载均衡时,当客户端和LVS之间建立TCP连接时,LVS会先和客户端建立TCP连接,等到客户端有流量发送时,负载均衡器再和后端服务器建立TCP连接。

13. 转发性能角度:

   4层负载均衡不关心报文内容,所以负载均衡性能高。

   7层负载均衡需要查看Http头中的动作、URL、请求的源主机信息等信息,所以,需要深入查看报文内容,所以,转发性能低。但是,可以做深度的精细化控制。

14. GSLB有哪些实现方法:

   有3种,基于DNS解析、基于重定向、基于路由协议。

   基于DNS解析:DNS在多个ip间轮询(相同域名),达到负载均衡的效果。

   基于重定向: 负载均衡器根据请求的内容(ip地址、端口号、或者URL等)给客户端返回一个实际处理业务的服务器地址。利用的是Http的302重定向功能。

   基于路由协议:


本文名称:LinuxLB--负载均衡和高可靠-创新互联
当前地址:http://pwwzsj.com/article/gppog.html