服务器负载均衡

Posted 分布式微服务技术提升

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器负载均衡相关的知识,希望对你有一定的参考价值。

网络七层协议

负责均衡作用
  • 解决并发压力,提高应用处理性能

  • 提供故障转移,实现高可用

  • 通过添加或减少服务器数量,提供系统伸缩性、扩展性

  • 安全防护,负载均衡设备上做一些过滤,黑白名单等处理

负载均衡分类
  • 二层负载均衡(mac)

  • 三层负载均衡(ip)

  • 四层负载均衡(tcp)

    • F5:硬件负载均衡器,功能很好,但是成本很高

    • LVS:重量级的四层负载软件

    • nginx:轻量级的四层负载软件,带缓存功能,正则表达式较灵活

    • Haproxy:轻量级的四层负载软件,带缓存功能,正则表达式较灵活

  • 七层负载均衡 (http)

    • Nginx:只在http协议和mail协议上功能比较好,性能与haproxy差不多

    • Haproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移

    • Apache:功能较差

    • mysql proxy:功能尚可

总的来说,一般是LVS做4层负载;Nginx做7层负载;Haproxy比较灵活,4层和7层负载均衡都能做

使用场景
  • 高访问量业务

  • 横向扩展系统

  • 消除单点故障

  • 同城容灾

负载均衡方案

1、独立的Nginx/Haproxy方案

服务器负载均衡

2、LVS(DR)+ Keepalived+ Nginx方案 服务器负载均衡

3、DNS轮询 + LVS(DR)+ Keepalived + Nginx方案 服务器负载均衡

  • 使用目录名分割业务系统了,而是直接将业务系统的访问使用不同的二级域名进行拆分。这样的变化有利于每个业务系统都拥有自己独立的负载均衡层

负载均衡算法

1、一致性hash算法 服务器负载均衡

2、 轮询 

  • 目标节点=(N mod X)+1,N为第几个请求,X为总节点数

3、 加权轮询 


以上是关于服务器负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

系统架构之负载均衡

服务端负载均衡和客户端负载均衡的区别

常见的负载均衡技术

Ribbon-负载均衡策略

Nginx——nginx作为负载均衡服务(负载均衡示例)

Nginx 负载均衡