Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备
建议:先阅读Nginx+keepalived主从配置,因为此篇是接着上篇开始的
上一篇我们简单的介绍了主从配置及其缺点,我们看一下双主热备配置:
2台Nginx+keepalived互为主备,各自绑定一个公网虚拟IP,提供负载均衡服务,同时工作,当其中一台机器出现故障,请求转移到一台机器负担,对比与主从来说资源利用比较合理,也比较适合目前的架构。
准备:
标配四台服务器[全部搭建完成]
Master1:192.168.102.110 nginx+keepalived[对应我们上篇的master]
Master2:192.168.102.113 nginx+keepalived[对应我们上篇的backup]
VIP-master1:192.168.102.138
VIP-master2:192.168.102.139
Tomcat1:192.168.102.111
Tomcat2:192.168.102.112
1、因为这里是接着Nginx+keepalived主从配置写的,咱们先看一下主从的配置
查看master和backup的Nginx、keepalived配置[目前是主从配置]
Master的keepalived配置
Master的Nginx配置
Backup的keepalived配置
Backup的Nginx配置
2、 把主从配置修改为双主热备
Master对应master1,修改master配置文件
注意看下方注释:
#定义vrrp实例,VI_1 为虚拟路由的标示符,自己定义名称
#keepalived在同一virtual_router_id中priority(0-255)最大的会成为master,也就是接管VIP
#priority最大的主机发生故障后次priority将会接管
vrrp_instance VI_1 {
state MASTER #主服务器,注意这里如果是主从。那么当主priority<从priority,backup是会抢占为master的
interface eth0 #网卡名
virtual_router_id 51 #同一vrrp_instance下主备要相同
priority 100 #如果是主备,优先级要区别
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
#设置VIP,它随着state变化而增加删除,当state为master的时候就添加,当state为backup的时候则删除,由优先级决定
virtual_ipaddress {
#192.168.200.16
#192.168.200.17
#192.168.200.18
192.168.102.138 #vip
}
}
#定义vrrp实例,VI_2 为虚拟路由的标示符,自己定义名称
#keepalived在同一virtual_router_id中priority(0-255)最大的会成为master,也就是接管VIP
#priority最大的主机发生故障后次priority将会接管
vrrp_instance VI_2 {
state BACKUP #从服务器,注意这里如果是主从。那么当主priority<从priority,backup是会抢占为master的
interface eth0 #网卡名
virtual_router_id 52 #同一vrrp_instance下主备要相同
priority 90 #如果是主备,优先级要区别
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
#设置VIP,它随着state变化而增加删除,当state为master的时候就添加,当state为backup的时候则删除,由优先级决定
virtual_ipaddress {
#192.168.200.16
#192.168.200.17
#192.168.200.18
192.168.102.139 #vip
}
}
Backup对应master2,修改backup配置文件。类似同上
3、 测试
使用192.168.102.138
使用192.168.102.139
4、模拟故障
挂掉master1[vip1]
这时不管访问的是vip1[192.168.102.138]还是vip2[192.168.102.139]都将导到vip2上去
测试
现在所有的请求都转移到master2
测试完成。
Nginx系列篇四:Nginx+keepalived搭建一个高可用的双机双主热备的更多相关文章
- Keepalived+LVS实现高可用负载均衡双主模式
LVS是一种集群(Cluster)技术:采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一 ...
- Nginx系列篇三:linux中Nginx+keepalived做一个高可用的主从配置
建议:先阅读搭建Nginx负载均衡之后再看此篇 备注: Nginx+keepalived的高可用有两种方式 一.主从配置 二.双主热备配置[下一篇] 准备: 标配四台服务器 Master:192.16 ...
- Nginx系列篇二:linux搭建Nginx负载均衡
建议先搭建好Nginx环境 可阅读--->Linux中搭建Nginx 1.准备好三台服务器[标配] 一.nginx负载均衡服务器:192.168.102.110,配置好Nginx 二.tomca ...
- 使用Keepalived实现Nginx的自动重启及双主热备高可用
1.概述 之前我们使用Keepalived实现了Nginx服务的双机主备高可用,但是有几个问题没有解决,今天一起探讨一下. 1)在双机主备机制中,Keepalived服务如果宕了,会自动启用备机进行服 ...
- SpringCloud学习系列之一 ----- 搭建一个高可用的注册中心(Eureka)
前言 本篇主要介绍的是SpringCloud相关知识.微服务架构以及搭建一个高可用的服务注册与发现的服务模块(Eureka). SpringCloud介绍 Spring Cloud是在Spring B ...
- Haproxy+Keepalived搭建Weblogic高可用负载均衡集群
配置环境说明: KVM虚拟机配置 用途 数量 IP地址 机器名 虚拟IP地址 硬件 内存3G 系统盘20G cpu 4核 Haproxy keepalived 2台 192.168.1.10 192 ...
- 基于keepalived搭建MySQL高可用集群
MySQL的高可用方案一般有如下几种: keepalived+双主,MHA,MMM,Heartbeat+DRBD,PXC,Galera Cluster 比较常用的是keepalived+双主,MHA和 ...
- 阿里云有奖体验:用PolarDB-X搭建一个高可用系统
体验简介 场景将提供一台配置了CentOS 8.5操作系统和安装部署PolarDB-X集群的ECS实例(云服务器).通过本教程的操作,带您体验如何使用PolarDB-X搭建一个高可用系统,通过直接ki ...
- Mysql双主热备+LVS+Keepalived高可用操作记录
MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障.然而MySQL主主复制存在一些问题无法满足我们的实际需要:未提供统一访问入口来实现负 ...
随机推荐
- windows核心编程之进程间共享数据
有时候我们会遇到window进程间共享数据的需求,例如说我想知道系统当前有多少某个进程的实例. 我们能够在程序中定义一个全局变量.初始化为0.每当程序启动后就加1.当然我们我们能够借助第三方介质来储存 ...
- openwrt gstreamer实例学习笔记(三.深入了解gstreamer 的 Element)
在前面的部分,我们简要介绍过 GstElementFactory 可以用来创建一个element的实例,但是GstElementFactory不仅仅只能做这件事,GstElementFactory作为 ...
- nodejs什么值得买自动签到自动评论定时任务
本项目是基于nodejs开发,实现的功能是,什么值得买自动签到,自动评论功能,自动发邮件,支持多人多账号运行 目的是为了,解放双手,轻松获取什么值得买的经验和积分,得到更高的等级,从而突破很会员等级限 ...
- HashMap随机取值和迭代器取值的对比
一共四中方法,前两种是迭代器取值,后两种是随机取值,循环了5000万次,时间分别为:迭代器读取的速度大约是随机读取的速度的1.5倍,数据量越大,差距越明显. 另外,插入是读取的100倍左右的时间(这个 ...
- 【bzoj1433】[ZJOI2009]假期的宿舍
按要求连边,跑匈牙利 #include<algorithm> #include<iostream> #include<cstdlib> #include<cs ...
- debian var目录
1 /usr和/var /usr,只读数据. /var,可变数据. 2 /var/lib和/var/cache /var/lib,保存应用或者系统可变的状态信息,真的只是状态信息,比如/var/lib ...
- passive aggressive(pa)和average perceptron(ap)
passive aggressive(pa)和average perceptron(ap)
- Delphi之萝莉调教篇
本文纯属技术交流.如果各位看官想与小生一起探讨萝莉的问题的话...PM我吧 关于Delphi的萝莉调教技术,很久以前就有大牛做过了...其实技术早掌握了只是觉得太无聊~估计大家也都会于是就没有写~既然 ...
- 使用forever让node.js持久运行
何为forever?forever可以看做是一个nodejs的守护进程,能够启动,停止,重启我们的app应用. npm install forever -g #安装 forever start app ...
- [翻译]理解Unity的自动内存管理
当创建对象.字符串或数组时,存储它所需的内存将从称为堆的中央池中分配.当项目不再使用时,它曾经占用的内存可以被回收并用于别的东西.在过去,通常由程序员通过适当的函数调用明确地分配和释放这些堆内存块.如 ...