Nginx单点问题剖析
全链路高可用之Nginx反向代理单点故障分析
dns轮训多个ip,假如某个nginx挂了,怎么办
Nginx高可用解决方案-基础
国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。
从低到高分别是:
物理层、数据链路层、网络层、传输层、会话层、表示层和应用层
四层工作在OSI第四层 也就是传输层
七层工作在最高层,也就是应用层
F5、LVS(四层负载 tcp)
用虚拟ip+port接收请求,再转发到对应的真实机器
HAproxy、Nginx(七层负载)
用虚拟的url或主机名接收请求,再转向相应的处理服务器
业界主流高可用方案Linux虚拟服务器 LVS讲解
什么是LVS
官网 www.linuxvirtualserver.org
LVS是Linux Virtual Server,Linux虚拟服务器,是一个虚拟的服务器集群系统
项目是由章文嵩博士成立,是中国国内最早出现的自由软件项目之一
Linux2.4 内核以后,LVS 已经是 Linux 标准内核的一部分
软件负载解决的两个核心问题是:选谁、转发
提供了10多种调度算法: 轮询、加权轮询、最小连接、目标地址散列、源地址散列等
三种负载均衡转发技术
NAT:数据进出都通过 LVS, 前端的Master既要处理客户端发起的请求,又要处理后台RealServer的响应信息,将RealServer响应的信息再转发给客户端, 容易成为整个集群系统性能的瓶颈; (支持任意系统且可以实现端口映射)
DR: 移花接木,最高效的负载均衡规则,前端的Master只处理客户端的请求,将请求转发给RealServer,由后台的RealServer直接响应客户端,不再经过Master, 性能要优于LVS-NAT; 需要LVS和RS集群绑定同一个VIP(支持多数系统,不可以实现端口映射)
TUNL:隧道技术,前端的Master只处理客户端的请求,将请求转发给RealServer,然后由后台的RealServer直接响应客户端,不再经过Master;(支持少数系统,不可以实现端口映射))
业界主流高可用方案keepalived讲解
什么是keepalived
核心:监控并管理 LVS 集群系统中各个服务节点的状态
keepalived是一个类似于交换机制的软件,核心作用是检测服务器的状态,如果有一台web服务器工作出现故障,Keepalived将检测到并将有故障的服务器从系统中剔除,使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成。
后来加入了vrrp(虚拟路由器冗余协议),除了为lvs提供高可用还可以为其他服务器比如Mysql、Haproxy等软件提供高可用方案
安装
yum install -y keepalived
#路径
cd /etc/keepalived
启动和查看命令
#启动
service keepalived start
#停止
service keepalived stop
#查看状态
service keepalived status
#重启
service