lvs-DR IP路由
工作特征:
集群节点必须在同一个物理网络中,不能跨越交换机
RIP可使用公网地址
Director仅处理入站请求
realserver网关不能处理Director 所以出站响应不经过Director
不支持端口映射
realserver支持大多数操作系统
Director性能优于nat模型
Director的调度方法:
fixed sckeduling静态调度
RR 轮调
WRR加权轮调
Destination hashing 目标地址hash 一般用于缓存服务器将同一 个ip的请求,发往同一个server中
SH
Dynamic Scheduling 动态调度 追踪当前处于活动连接和非活动状态的连接的 节点
Least-connection(LC)最少连接
RS:active*256+inactive=overhead
Director计算出overhead值小的RS优先响应
WLC 加权最少连接 默认方法
(active*256+inactive)/Weight=overhead
SED Shrotest Expected Delay
(active+1)*256/Weight=overhead 将第一次请求交给性能最好的RNever Queue(NQ)
持久防火墙标记:
在实际应用中会有这样的问题,用户在网上购物时,将购物车的数据会被保存在某个RealServer中,当断开网页连接到https协议的网上银行结账时,发现是个新的连接请求,可能Director会分配给client另一个Realserver中去,这此Realserver不会知道购物车中的数据。那么Director为了能够保证连接的持久性,需要为80和443做统一的端口映射,这样就实现了数据不会丢失,又保证了结账的安全性
实验拓扑结构:
RealServer1(172.16.21.21)
首先为它搭建LNMP平台 并开启ssl功能在RealServer2中是同样的做法
为Nginx开启ssl功能并能在ssl中支持php功能的方法:
编辑 nginx.conf
添加如下内容
server { listen 443; server_name ; ssl on; ssl_certificate ssl/RC1.crt; //这里的证书需要想CA服务器申请颁发 并cp到本地/etc/nginx/ssl目录中 也可以指定绝对路径 ssl_certificate_key ssl/RC1.key; ssl_session_timeout 5m; location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param HTTPS on; include fastcgi_params; } location / { root html; index index.php index.html index.htm; } }
做好准备工作后,执行以下脚本,脚本内容如下: