一、nginx介绍:
Nginx 是一个高性能的开源反向代理服务器,也可以用作负载均衡器、HTTP缓存以及作为Web服务器。
它的主要优点包括:
1.高性能:Nginx 能够处理大量并发连接和高流量,
2.低资源消耗:相比传统的Web服务器,Nginx的内存消耗较低。
3.可扩展性:支持插件和模块,可以扩展其功能。
4.灵活性:支持多种协议(HTTP、HTTPS、SMTP、POP3等)和配置选项。
在高可用架构中,Nginx 常用作前端的负载均衡器,将流量分发到多个后端服务器上。
二、keepalived介绍:
Keepalived 是一个用于实现高可用性的工具,主要功能是通过虚拟IP(VIP)实现故障转移和负载均衡。
它的关键特点包括:
1.虚拟IP管理:Keepalived 可以维护一个虚拟IP地址,客户端访问这个IP时,请求会被转发到实际的服务器上。
2.健康检查:Keepalived 可以定期检査后端服务器的健康状态,如服务器是否存活、服务是否可用等。
3.故障转移:如果某个服务器或服务发生故障,Keepalived 可以自动切换到备用服务器,以确保服务的可用性。
4.优先级管理:可以设置服务器的优先级,以决定哪个服务器成为主服务器处理请求。
三、nginx+keepalived
keepalived工作与原理:
1.虚拟IP(VIP)管理:
1.1.Keepalived 在多台服务器(节点)上运行,并通过协作来管理一个虚拟IP地址(VIP)
1.2.这个VIP被配置为服务的前端地址,客户端访问这个VIP时,请求会被转发到实际的服务器上。
2.故障检测和切换
2.1.如果在健康检査中发现某个节点或者其服务不可用,Keepalived 将其标记为故障状态,
2.2.故障节点的 VIP 将自动迁移到备用节点上,确保服务的可用性。
2.3.迁移过程通常包括通知网络设备,以确保流量被正确地重定向到新的活跃节点。
3.优先级和权重管理:
3.1.Keepalived 允许管理员设置节点的优先级和权重,以便在决定主节点时进行权衡
3.2.主节点通常是处理流量的首选节点,备用节点则用于故障转移时接管服务。
nginx+keepalived原理图
高可用Web服务:通过使用 Keepalived 管理虚拟IP,实现Nginx负载均衡器的高可用性。如果主Nginx 节点发生故障,Keepalived 可以将虚拟IP迁移到备用节点,确保服务的连续性。
1、keepalived是一个程序,它的作用是相互判断两台服务器上面的keepalived是否宕机,相互发送数据包:两台服务器上的keepalive是靠相互通讯来判断的,如果一台服务器上keepalived挂掉了,keepalived就会把虚拟的ip就会转移到备用的nginx服务器上,:实现服务转移
2、需要在两台服务器上分别安装keepalived程序,并修改配置文件
3、客户端就只能访问虚拟的ip才能访问到nginx服务器了,因为有两台nginx代理,但是作为一个站点就只能访问keepalived虚拟出来的这个ip 192.168.128.200
缺点:
当代理服务nginx坏了 但是keepalive没有挂这时候就可能存在服务无法访问了