Nginx+keepalived的高可用集群(一、基本概念介绍)

摘要:
在查询了大量数据后,我们选择了Nginx+keepalive,以确保集成平台的高可用性和负载平衡。主机将向其他备份路由器发送数据包。如果备份在超时时间段内未接收到数据包,则认为主机已停机。根据优先级选择备份作为主路由,以确保路由的高可用性。
1.背景

现在越来越多的业务系统要保证24小时不间断运行从而提供高效、稳定、可靠的信息化服务已经成为亟待解决的问题。经过查询大量的资料以后,我们选用Nginx+keepalived的方式来保证集成平台的高可用(High Available)和负载均衡(Load Balancing)。

2.方案选择

2.1Nginx:

1nginx是个轻量级、高性能的web服务。

2nginx是一个免费的,开源的,高性能的http和反响代理服务,邮件代理服务和通用的tcp/udp代理服务。

3nginx 是HTTP, SMTP, POP3和IMAP 协议的web服务和反代服务,带有高并发、高性能和低内存利用的特性。。

2.2Keepalived:

keepalived是基于VRRP协议来实现的高可用方案,VRRP协议(Virtual Router Redundancy Protocol)即虚拟路由冗余协议,将多台功能相同的路由器组成一个路由组,在组里会有一个master和多个backup,对外看来仿佛是一个虚拟路由器,拥有一个虚拟IP(VIP),占有这个IP的master响应和转发IP的数据包。master会向其他的backup路由器发送数据包,如果在超时时间内backup没有收到数据包则认为master宕机了,就通过优先级选举出来一个backup作为master来保证路由的高可用。VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。

2.3 Nginx+keepalived的高可用方案有两种方式

2.3.1 Nginx+keepalived 主从配置

这种方案,使用一个VIP(Virtual IP)地址,前端使用3台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候,永远处于浪费状态。

主从配置也分为抢占模式和非抢占模式,抢占模式即MASTER从故障中恢复后,会将VIPBACKUP节点中抢占过来。非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP

2.3.2 Nginx+keepalived 双主配置

这种方案,使用两个vip地址,前端使用2台机器,互为主备,同时有两台机器工作,当其中一台机器出现故障,两台机器的请求转移到一台机器负担。

我们选择主从配置中的抢占模式进行测试,建议项目上也可以选用此种方案。MASTER服务器正常的时候,VIP地址在MASTER服务器,所有终端的请求都会通过MASTER服务器进行分发,当MASTER服务器异常的时候VIP地址自动切换BACKUP服务器,所有终端的请求都会通过BACKUP服务器进行分发,当MASTER从异常中恢复以后VIP地址自动切换MASTER服务器对外正常提供服务下图是该种方案的网络结构图MASTERBACKUP两台服务器都需要安装Nginx+keepalived):

Nginx+keepalived的高可用集群(一、基本概念介绍)第1张

2.4  测试环境

测试服务器:196.168.0.90和196.168.0.91  196.168.0.92  测试VIP:196.168.0.190

操作系统版本:CentOS Linux release 7.4.1708

本次选择的方案是Nginx+keepalived 主从配置抢占模式,采用一台服务器做master,两台服务器做cluster。

 下面将进行实战部署操作。

免责声明:文章转载自《Nginx+keepalived的高可用集群(一、基本概念介绍)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇iOS蓝牙传输数据演示-3C#并发编程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Git文件状态描述

检查当前文件状态[root@typhoeus79 ice_test_m git_test]# git status # On branch master nothing to commit (working directory clean) 说明当前git目录很干净,所有已跟踪的文件在上次提交后没有修改过。当前的分支为master Untracked状...

MySQL 主从复制:基于二进制文件复制配置详解

MySQL-主从复制:基于二进制文件复制详解 前言 主从复制是指把一个MySQL的数据库服务器作为主服务器(master),然后把master的数据复制到一个或者多个MySQL数据库服务器作为从服务器(slave)。从master到slave的复制一般是异步复制,所以从服务器的复制可以随时停止,也不会影响到主服务器的使用。可以通过配置来决定只复制哪些数据库...

48 git使用

0 引言git/github是当前最好的代码版本管理和协同工作工具。最近我终于用上了这一先进工具,撒花撒花! # 先把大神廖雪峰的链接献上https://www.liaoxuefeng.com/wiki/896043488029600# 官方教程https://git-scm.com/ 1 配置git使用环境git的使用环境主要包括git的安装、设置SSH...

Nacos微服务部署(超详细)基于Centos7

目录 Nacos集群部署与持久化 准备环境 Linux-Centos-7安装Mysql5.7数据库 Nacos压缩包上传及Mysql数据库配置 Nacos集群部署 Nginx负载均衡部署 Nginx整合Nacos Nacos集群部署与持久化 准备环境 请确保是在环境中安装使用: 64 bit OS Linux/Unix/Mac,推荐使用Li...

HBase海量数据存储

HBaseHBase是一个基于HDFS的非关系型数据库(海量数据存储) HBase的特点 1.海量数据存储,HBase中的表可以容纳上百亿行x上百万列的数据。 2.列式存储,HBase中的数据是基于列进行存储的,能够动态的增加和删除列。 3.准实时查询,HBase在海量的数据量下能够接近准实时的查询(百毫秒以内) 4.多版本,HBase中每一列的数据都有多...

记elk打包时的问题

Kibana 解压了kibana的包,把文件都拷贝了出来,检查 usr share kibana的权限是root:root。以为在装的时候也可以使用root权限,但是在打包装完启动不了,报错 默认的kibana不输出日志, kibana的服务还没有日志,只能去/var/log/message里面去看,(可以在配置中配置日志路径) 提示/usr/share...