nginx2

Nginx的高可用是keeplivedkeeplived是为lvs服务的。

Nginx上分别安装keepalived,keepalived之间通过心跳交流,主节点宕机备节点起来。keepalived不仅仅和nginx配置,还可以和别的配合。
keepalived单纯的IP漂移更简单,如果对资源服务有控制(存储)用heartbeat。

proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504//服务不可用的时候会继续向下找其他的服务器

Nginx负载均衡检测节点状态:
1.插件
2.脚本实现
Nginx的缓存:通过pcre来清空缓存。静态数据的前端缓存。http://zyan.cc/nginx_cache。
purge是用来清空缓存的。

Keepalived起初是为LVS设计的,专门用来监控LVS集群中服务节点的状态,后来加入了VRRP功能,因此可以为其他软件服务(nginx,haproxy)。
Keepalived有failover(失败接管,靠VRRP协议实现的)、healthcheck(健康检查),2个Keepalived之间的通信也是用过VRRP协议实现。
keepalived.conf里面配置就可以实现LVS功能(但是跟nginx没有这么简单,所以keepalived跟lvs是)。

Keepalived可以对他下面的节点做健康检查,就像nginx对他下面的节点做检查。但是Keepalived支持的更多,支持端口和url,nginx健康检查只支持端口。

Keepalived的主节点一直发送心跳给备节点,主节点死了,备节点就收不到心跳从而接管,主节点恢复的时候备节点交还控制权。

VRRP(虚礼路由冗余协议)协议:解决静态路由的单点故障。通过竞选机制实现将路由交给路由器。让每一个路由器竞选,获胜就是主。通过IP多播方式通信的。主发包备接包。使用了加密协议。

Keepalived高可用对之间通过VRRP协议通信,Keepalived之间主通过IP多播的方式发送VRRP广播包,告诉备他还活着,主死了,备监听不到广播包就接管服务。

猜你喜欢

转载自www.cnblogs.com/yaowen/p/9046353.html