Linux集群学习

概念

集群是一组协同工作的服务器,各有分工,对外表现为一个整体。

集群的分类

  • 负载均衡集群 LBC
    分担服务的总体压力
  • 高可用集群 HAC
    尽可能的保障服务状态的可用性
  • 高性能运算集群 HPC
    提供单台服务器提供不了的计算能力

常见集群拓扑图

负载均衡集群 LBC

使用意图:减轻单台服务器的压力,将用户请求分担给多台主机一起处理

实现方法
– 软件:LVS、RAC、Nginx
– 硬件:F5、BIG-IP

集群调度算法

静态调度算法

  • RR轮询
    将每次用户的请求分配给后端的服务器,从第一台服务器开始到第N台结束,然后循环
  • WRR加权轮询
    按照权重的比例实现在多台主机之间进行调度
  • SH(source hash)源地址散列
    将同一个IP的用户请求,发送给同一个服务器
  • DH(destination hash)目标地址散列
    将同一个目标地址的用户请求发送给同一个真实服务器(提高缓存的命中率)

动态调度算法

  • LC(lest-connection)最少连接
    将新的连接请求,分配给连接数最少的服务器 活动连接 × 256 + 非活动连接
  • WLC加权最少连接
    特殊的最少连接算法,权重越大承担的请求数越多 (活动连接 × 256 + 非活动连接 ) / 权重
  • SED最短期望延迟
    特殊的WLC算法 (活动连接 + 1) * 256 / 权重
  • NQ永不排队
    特殊的 SED 算法,无需等待,如果有真实服务器的连接数等于0那就直接分配不需要运算
  • LBLC特殊的DH算法
    即能提高缓存命中率,又要考虑服务器性能
  • LBLCR LBLC+缓存
    尽可能提高负载均衡和缓存命中率的折中方案

高可用集群 HAC

发表评论

邮箱地址不会被公开。 必填项已用*标注