网站建设主要学什么,莱芜十大首富,注册网站需要多少钱,seo搜索优化软件背景#xff1a; keepalivednginx实现ha是网站和应用服务器常用的方法#xff0c;之前项目中单独用nginx实现过负载均衡和服务转发#xff0c;keepalived一直停留在理论节点#xff0c;加之最近工作编写的一个技术文档用到keepalived#xff0c;于是便有了下文。
服务组件…背景 keepalivednginx实现ha是网站和应用服务器常用的方法之前项目中单独用nginx实现过负载均衡和服务转发keepalived一直停留在理论节点加之最近工作编写的一个技术文档用到keepalived于是便有了下文。
服务组件介绍 keepavlived 一个用于实现高可用性和负载均衡的开源软件通常在 Linux 环境下使用。它的主要作用是监视服务器集群中的各个节点并在主节点失效时快速将备用节点切换为主节点从而实现系统的持续可用性。同时它还可以用于负载均衡将传入的请求分发到多个服务器上以提高系统的性能和容量。本文只说主备节点切换。 nginx 最好用的web和反向代理服务器属于常用中间件此处就不多说了。
实现高可用 安装keepalivednginx模拟实现高可用其中keepalived负责vip切换nginx为方便vip切换后的结果展示。为方便测试本场景使用docker容器进行操作和展示。 3个centos7.9容器2个容器C,D)模拟HA1个容器E作为客户端模拟调用nginx。
小试牛刀 准备工作 可使用docker创建3台centOs7.9容器分别命名为centos7.9_Ccentos7.9_Dcentos7.9_E下文3个容器简称为CDE ip分别为172.17.0.2172.17.0.3172.17.0.5VIP 172.17.17.15 安装和配置
C安装keepalived和nginx keepalived修改配置文件vi /etc/keepalived/keepalived修改内容如下
vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.17.0.15}
} nginx为了测试效果修改index.html为
D安装keepalived和nginx keepalived修改配置文件vi /etc/keepalived/keepalived修改内容如下
vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 90advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.17.0.15}
} nginx为了测试效果修改index.html为 测试用例
CD正常E访问访问到的是C节点nginx提供的服务如下图所示停掉CE访问虚拟IP自动漂移至备节点访问到的是D节点nginx提供的服务如下图所示恢复C停掉DE访问访问到的是C节点nginx提供的服务如下图所示C和D都恢复E访问访问到的是C节点nginx提供的服务如下图所示
其他 keepalived服务高可用的原理实质是虚拟ip的漂移通俗点说就是主备节点上服务启动后主节点上的keepalived服务会自动给网卡添加上虚拟ip(也就是ip addr add命令)以此保证通过虚拟ip是可访问的当主节点挂掉后把虚拟ip添加到备节点的网卡主备节点是通过心跳机制验活。
总结 1、网站、应用服务器等需要持续可用性的场景使用keepalivednginx实现HA是可行的且复杂度适中适合非架构师岗位的后台开发者。 2、理论是服务于实践的实践需要时间和精力但是实践后会加深对理论的认知建议伙伴们可以动手试一试。