高可用linux 服务器搭建

news/2024/4/29 12:17:22/文章来源:https://www.cnblogs.com/pzscit/p/16800360.html

最原始的服务部署,为单点部署,即直接把服务部署在一个服务器上。如果服务器出现故障,或者服务因为某个异常而挂掉,则服务就会发生中断。单点部署出现故障的概率最高。

后来,出现了网关,比如 nginx kong 等。如下图所示:

这样,所有客户请求都会经过网关,再由网关转发到各个服务。如果由服务出现故障,则网关会自动跳过故障服务,把请求分发到可用服务。因为网关只是起到服务转发的功能,所以网关出现故障的概率比应用出现故障的概率低很多。

 http{upstream myserver {server   192.168.12.181:80 weight=3 max_fails=3 fail_timeout=20s;server   192.168.12.182:80 weight=1 max_fails=3 fail_timeout=20s;server   192.168.12.183:80 weight=4 max_fails=3 fail_timeout=20s;}server{listen       80;server_name  www.domain.com 192.168.12.189;index index.htm index.html;root  /ixdba/web/wwwroot;location / {proxy_pass http://myserver;proxy_next_upstream http_500 http_502 http_503 error timeout invalid_header;include    /opt/nginx/conf/proxy.conf;}}}

但是,网关并非会永远不宕机,如果遭遇入侵,或者机房断电。网关服务出现故障,则不管下面的应用服务部署了多少个都没用。

于是就出现了第三种集群。如下图所示,借助keeplived部署2个以上的nginx 网关。这样网关出现故障导致服务中断的机率将大大降低。

这里主从nginx服务的配置是一样的。
3.keepalive的配置:/etc/keepalived/keepalivec.conf
主节点(Master节点配置)

 (1)修改/etc/keepalived/keepalivec.conf 配置文件global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.loc#当前主机ipsmtp_server 192.168.17.129smtp_connect_timeout 30# 重点1:通过它,可以访问到主机,在hosts文件中,要做映射关系,类似于 127.0.0.1 LVS_DEVEL,host文件路径:/etc/hostsrouter_id LVS_DEVEL  }#重点2:检测脚本,目的是定时执行,检测nginx的状态,如果挂了尝试重启,如果启动失败,则停止该节点的nginx和keepaivevrrp_script chk_http_port {script "/usr/local/src/nginx_check.sh"	 # 执行脚本所在的位置,自定义脚本后面会提及interval 2 	#检测脚本执行的间隔,单位秒,每个2秒执行一次脚本weight 2       #脚本执行满足,权重加2,这里其实没搞明白..}#重点3:主备节点的区别配置	vrrp_instance VI_1 {state MASTER	 # 备份服务器上将 MASTER 改为 BACKUPinterface ens33	 # 绑定的网卡,通过ipconfig查看virtual_router_id 51	 # 主、备机的 virtual_router_id 必须相同priority 100 	# 主、备机取不同的优先级,主机值较大,备份机值较小(比如主机100,备机90)advert_int 1 	#每隔一秒发送一次心跳,确保从服务器(keepalive)是否还活着authentication {		# 心跳检测需要的密码auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.17.50 	# VRRP H 虚拟地址(重点:虚拟ip配置,客户端通过该ip进行访问,主节点和备用节点谁占有这个ip,谁提供反向代理服务)}}(2)在/usr/local/src 添加检测脚本nginx_check.sh,检查Nginx是否还活着#!/bin/bash#查看ningx的进程号,并统计数量A=`ps -C nginx –no-header |wc -l`#等于0时,即nginx挂了,尝试重启if [ $A -eq 0 ];then/usr/local/nginx/sbin/nginx 	#Nginx启动命令的位置sleep 2#启动失败,杀掉keepaliveif [ `ps -C nginx --no-header |wc -l` -eq 0 ];thenkillall keepalivedfifi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_25472.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python的opencv操作记录(七)——短时傅里叶变换(stft)

文章目录DCT-傅立叶变换的局限性STFT 短时傅里叶变换从另一个角度来理解图像的“时域”数据看看fs和t这两个参数再看看怎么划分窗口最后看另外两个出参Zxx返回结构图像的stftDCT-傅立叶变换的局限性 接上一篇DCT的文章,DCT只提取了整个信号域的频率信息&#xff0c…

Python——HTTP代理 Proxy

大佬勿喷 链接: https://pan.baidu.com/s/1Wm0JepiZa9iPn4WoQU3Qdg 提取码: p09g

【计算机毕业设计】基于微信小程序的校园生活服务平台

提供了一些今年最新计算机毕业设计源代码、文档及帮助指导,公众号:一点毕设,领取更多毕设资料。 一.课题概述 随着互联网时代的到来,移动端应用的发展十分迅猛,校园服务类应用 也是不计其数。但大多功能单一&#xf…

Word处理控件Aspose.Words功能演示:使用 Java 将 RTF 转换为 PDF

RTF 格式由 Microsoft 引入,用于创建富文本文档。RTF 的互操作性使得在不同的 Microsoft 产品以及异构操作系统之间交换内容成为可能。但是,有时可能需要将 RTF 转换为 PDF 以用于打印、共享或其他目的。因此,本文介绍了 如何使用 Java 以编程…

干净的代码——一种实用的方法

在对干净代码进行了一些讨论之后,我决定在一篇文章中总结最重要的事情。因为网上有很多关于清洁代码的帖子和信息,我认为一篇新的文章谈论它只是解释一些原则是不值得的。在本文中,我将尝试为您提供清洁代码的实用方法。我不会深入理论&#…

海康大华等录像机、摄像头无法通过GB28181注册到LiveGBS国标平台问题排查方法

LiveGBS常见问题-海康大华宇视华为NVR摄像头无法注册到平台国标平台看不到设备的时候如何抓包及排查1、设备注册后查看不到1.1、防火墙排查1.2、端口排查1.3、IP地址排查1.4、设备TCP/IP配置排查1.5、设备多网卡排查1.6、设备接入配置参数排查1.7、设备尝试修改本地SIP端口1.8、…

Biotin-PEG-Alk,Biotin-PEG-Alkyne,生物素-聚乙二醇-炔烃科研用试剂供应

An English name:Biotin-PEG-Alk,Biotin-PEG-Alkyne Chinese name:生物素-聚乙二醇-炔烃 Item no:X-GF-0267-10k CAS:N/A Formula:N/A MW:Biotin-PEG1-Alkyne/Biotin-PEG2-Alkyne/Biotin-P…

uni-app实战之单击菜单发布->H5的Promise 化在工程项目的实战演练项目心得

H5 开发注意 H5发布到服务器注意: 配置发布后的路径(在网站的根目录中发布是可选的),例如发布网站的路径为www.xxx Com/html5,在manifest中编辑json文件中的h5节点,并将base属性添加到路由器下的html5 单…

基于PHP的蔬菜价格查询管理系统设计与实现

目 录 1 引言 1 1.1 课题背景与意义 1 1.2 课题现状与可研究性 1 1.3 本论文研究内容和结构安排 1 2 系统基础概述 2 2.1 软件开发环境 2 2.2 L,Linux操作系统 2 2.3 A,Apache服务器 2 2.4 M,Mysql数据库 3 2.5 P,PHP语言 3 2.5.1…

EXCEL表格-VLOOKUP多对一结果匹配方法(通配符)

❤关注我,不迷路❤ 点击进入EXCEL综合应用场景专栏 在实际使用场景中,通过一个值去匹配另一个值的案例很常见,比如一份学校的信息表,通过姓名查找班级、家长姓名等,均用VLOOKUP函数可以实现,正向查找、逆…

【Coel.学习笔记】莫比乌斯反演

冷知识:百度百科里甚至没有对反演的准确定义……闲话 记得在差不多一年前写扩展欧拉定理的时候我提了一句这周终于把古代猪文搞定了,数论这块的内容就只剩个博弈论了 别提莫比乌斯反演之类的东西,我不想搞甚至刚开始写的时候还笔误把莫反写成了莫队…… 转眼一年过去了,来填…

leetcode 123买卖股票的最佳时机III

买卖股票的最佳时机III 动态规划-分两小组分别计算&#xff08;超时&#xff09; class Solution { public:int partprofit( vector<int>& prices , int start , int end ){if((end-start)<1) return 0;vector<int> dp(end - start , 0);int min prices[s…

视觉检测工作台设计

目 录 摘 要 I Abstract II 第1章 引言 1 1.1研究背景及意义 1 1.2国内外研究现状 2 第2章 总体方案的确定 4 2.1方案拟定 4 2.1.1机械结构 4 2.1. 2控制工艺要求 5 2.1. 3总体方案 5 2.2 设计参数 7 第3章 视觉检测工作台机械系统设计 8 3.1 X-Y数控工作台总体方案的确定 8 3.…

微信公众号查题搜题平台

微信公众号查题搜题平台 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 题库&#xff1a;题库后台&#xff08;点击跳转&#xf…

物联网、区块链、元宇宙和虚拟数字人离普罗大众有多远?

首先&#xff0c;我们最早理解的数字人就是数字虚拟的一个假人&#xff0c;可能看起来很像二次元玩偶的样子。今天我觉得数字人是一种虚拟的数字身份&#xff0c;无所谓你的形象是仿真或是任何形象&#xff0c;包括你在现实中无法实现的形象&#xff0c;你在梦想中所渴望的概念…

【数据结构与算法分析】0基础带你学数据结构与算法分析01--基础数学知识

&#x1f353;个人主页&#xff1a;个人主页 &#x1f4ac;推荐一款模拟面试、刷题神器&#xff0c;从基础到大厂面试题&#xff1a;点击跳转进入网站 &#x1f4e9;如果你想学习算法&#xff0c;以及一些语言基础的知识&#xff0c;那就来这里&#xff1a;​​​​刷题网站 跟…

无公网IP远程黑群晖【内网穿透】

无公网IP远程黑群晖【内网穿透】1. 安装cpolar群晖套件2、打开cpolar套件3. 创建远程访问隧道4. 获取公网地址访问由于黑群晖没办法用QuickConnect&#xff0c;洗白也比较麻烦&#xff0c;所以这里用内网穿透的方法来实现远程。 这里推荐一款免费不限制流量的内网穿透工具cpol…

二维数组(理论)

二维数组的定义和操作 学习目标&#xff1a; 1、理解二维数组及其存储结构。 2、掌握二维数组的初始化、输入输出等基本操作。 引入&#xff1a; 由前面介绍可知&#xff0c;一维数组的元素可以是任何基本数据类型&#xff0c;也可以是结构体。那么&#xff0c;如果一维数组的…

新闻订阅及新闻内容展示系统(Python+Django+scrapy)

目录 摘 要 1 Abstract 2 第一章 引言 3 1.1 项目的背景和意义 3 1.2.1 个性化新闻服务现状 4 1.2.2 网络爬虫研究现状 4 1.2.3 项目的范围和预期结果 4 第二章 技术与原理 5 2.1 技术选型 5 2.2 相关原理介绍 7 第三章 系统需求分析 10 3. 1 新闻订阅系统用例析取 10 3.2 新闻…

干扰管理学习日志4-------信道估计方法 LS(最小二乘)、MMSE(最小均方误差)

目录一、信道估计定义二、LS估计(最小二乘法)1.定义2.系统模型3.损失函数4.模型求解三、MMSE估计(最小均方误差)1.定义2.系统模型3.损失函数4.模型求解5.模型结果一、信道估计定义 信道估计&#xff0c;就是从接收数据中将假定的某个信道模型的模型参数估计出来的过程。如果信…