负载均衡集群

LVS --- Linux Virtual Service

lvs被集成在Linux内核,速度快

ipvsadm是管理工具

1.1调度算法

rr 轮询

wrr 基于权重的轮询

会话共享存储

换调度算法

lc 最少连接数

wlc 基于权重的最少连接 default器

sh 根据客户端IP计算哈希值,相同哈希值的请求转发到同一个后端服务

1.2 NAT模式核心要素

请求、响应都要经过调度器转发

DIP、VIP要分属不同的网络

调度器开启路由转发功能

所有real server网关要指向DIP

1.2.1 基于NAT模式配置web集群

在调度器上分别配置VIP、DIP

所有real server 配置地址、网关指向DIP

调度器开启路由转发

创建虚拟服务,指定所需算法以及VIP

添加real server

访问调度器地址,查看结果

1.3DR模式(直接路由模式)核心要素

请求经过调度器、响应由real server发送
real server的网关要指向真实网关,确保网络通畅

VIP、DIP要属于同一网络

在所有real server配置VIP

arp_ignore=1

只让主机回复关于物理网卡的ARP响应

arp_announce=2

让主机以适当的地址发送响应

real server的操作只能是类linux系统

1.3.1基于DR模式配置web集群

所有real server配置VIP

所有real server修改arp内核参数

安装httpd

调度器上配置VIP

创建虚拟服务

测试访问

2.LB集群

提高业务并发能力

2.1keepalived结合LVS实现的作用

实现调度器的高可用

自动生成LVS负载均衡规则

对后端real server进行健康状态检测

2.2案例

配置NFS服务器共享存储空间

配置real server挂载存储

在所有real server 上配置VIP、arp内核参数

在调度器安装keepalived和ipvsadm

编辑主调度器配置文件(定义id、组名、VIP出现的网卡、主备状态、优先级、心跳时间间隔、认证密码、VIP地址)

编辑备调度器的配置文件

启动服务、查看主调度器VIP负载均衡规则

3.HAProxy

HAProxy是一个开源的、高性能的、基于TCP和HTTP应用的负载均衡软件,借助HAProxy可快速、可靠地提供基于TCP和HTTP应用的负载均衡解决方案

3.1调度器类型

四层调度

仅能根据IP地址、端口号进行调度

LVS, nginx

七层调度

根据应用数据(HTTP协议)进行调度

nginx

3.2HAProxy配置文件

global

全局配置、进程数、日志等

defaults

默认参数

frontend

定义虚拟服务、调度算法

backend

定义后端real server

listen

配置监听

3.3HAProxy ACL功能

ACL 访问控制列表

用于匹配客户端访问请求

只能应用在frontend、listen中

作用:

访问控制

七层调度

3.3.1 常用ACL方法

hdr_reg(host)

以正则表达式的方式匹配主机名

acl test1 hdr_reg(host) -i www

hdr_dom(host)

精确匹配主机名

acl test2 hdr_dom(host) -i music.linux.com

hdr_beg(host)

匹配主机名以xxx开头

acl test3 hdr_beg(host) -i download.

path_end

url以xxxx结尾

acl test4 path_end -i .jpg .jpeg .gif .png

path_beg

url以xxxx开头

acl test5 path_beg -i https://

url_ip

匹配数据目的IP

acl test5 url_ip 10.1.1.1

src

匹配数据源IP

method

匹配HTTP请求的方法;GET, POST

acl test7 method POST

3.4示例

示例1: 实现七层调度

复制代码
    acl www_policy	hdr_reg(host)  -i 	^(www.z.cn|z.cn)
    acl bbs_policy		hdr_dom(host)  -i   bbs.z.cn 
    acl url_policy      url_sub		   -i       buy_sid=

    use_backend   server_www  if   www_policy
    use_backend   server_app   if  bbs_policy
    use_backend   server_bbs   if url_policy

示例2: 实现七层调度

复制代码
    acl  host_www   hdr_beg(host)   -i www 
    acl  host_static   hdr_beg(host)   -i img. vedio. download. ftp.

    use_backend  static   if host_static || host_www 

示例3:实现数据过滤

复制代码
    acl forbidden_dst   url_ip  192.168.0.0/16
    acl forbidden_dst   url_ip  172.16.0.0/12
    acl forbidden_dst   url_ip  10.0.0.0/8

    http-request deny if forbidden_dst

示例4: 实现数据过滤

复制代码
    acl  allow_host  src  192.168.200.150/32
    http-request  deny  if  !  allow_host

3.5HAProxy实现web服务调度

先安装HAProxy、httpd

编辑haproxy配置文件

启动服务、测试访问

安装keepalived

测试

3.6haproxy实现MySQL调度

配置主从、双主复制

编辑HAProxy配置、添加MySQL服务调度

测试通过VIP正常访问数据库度

4.keepalived高可用集群

基于vrrp(虚拟冗余路由)协议开发

4.1案例一

安装nginx、配置四层调度

测试访问mysql

安装keepalived、编辑主备调度配置文件

启动服务、查看日志

4.2案例二-配置MyCAT集群

配置MySQL主从配置

配置Mycat读写分离

配置HAProxy调度器提供Mycat服务

配置keepalived实现高可用

相关推荐
网络小江10 小时前
组网第27课:ARP 的能与不能——免费 ARP、代理 ARP 与 ARP 欺骗
服务器·网络·网络安全·负载均衡·免费arp
EDPJ3 天前
MoE 与推测解码(Speculative Decoding)加速:为什么慢、什么时候慢、怎么让它不慢?
llm·负载均衡·大语言模型·moe·推测解码(sd)
JiMoKuangXiangQu4 天前
Linux CFS 负载均衡:从 CPU 拓扑到任务迁移
linux·负载均衡
我不会起名字3226 天前
负载均衡选错:轮询在长连接下的偏斜问题
微服务·负载均衡·grpc·长连接
。6 天前
【无标题】
linux·服务器·负载均衡·lvs
果霸大叔7 天前
AI网关第8篇:AI 代理与负载均衡--多模型实例如何调度?
人工智能·算法·自然语言处理·负载均衡·ai-native
骑着蜗牛撵大象32712 天前
服务下线不再炸:分层关闭、TCP 存活探测与负载均衡排水的落地套路
android·tcp/ip·负载均衡·tcp·高可用·健康检查·优雅关闭
螺蛳粉 螺蛳粉14 天前
第五篇:Keepalived + LVS 四层负载均衡高可用实战:DR 模式全流程
运维·负载均衡·lvs·keepalived·高可用
积流成海15 天前
一致性哈希原理与实现:分布式系统负载均衡
算法·负载均衡·哈希算法·哈希函数·盘子工具站
一条大祥脚17 天前
【CS336】lecture4 MoE|负载均衡|MoE并行|训练稳定性|Deepseek回顾
运维·负载均衡