HA集群实现原理 切换 JAVA_HA(一)高可用集群原理

高可用集群原理

LVS集群DR模式简单的架构图如下所示:

77fac86ef211ef8e056c7c852d7a578b.png

在上图的架构中,当Director服务器因软件、硬件、人为原因造成故障时,整个集群服务不可用,因此,需要再添加一台服务器实现Director服务高可用。

整个系统的架构图如下所示:

b739e9bdb35d4bf3ce75468702cc7b4b.png

此时,客户端发送请求经过路由器到达Primary (Active)Director服务器,Primary Director服发务器根据调度规则,将请求发送至不同的RealServer服务器,并且Primary Director与Standby(Passive)Director 服务器处于同一网段上,相互进行心跳监测(Heartbeat),当发现提供服务的Primary Director服务器发生故障时,在LVS集群DR模式中,只需将Primary Director服务器上的VIP以及IPVS规则、RealServer高可用脚本转移到Standby Director 服务器上即可,在这个过程中VIP、IPVS规则、RealServer高可用脚本我们称之为高可用集群资源(High Availability Resource),这个转移资源的过程称之为资源转移,也称之为故障转移(FailOver)。

然而,此时在路由器中缓存的VIP和MAC地址仍然是配置在Primary 服务器网卡别名上的VIP和网卡的MAC地址。为了让路由器刷新缓存中的VIP和MAC地址,Standby拿到VIP时,强行进行一次ARP解析请求,因请求是广播的,路由器发现自己缓存中的VIP对应的MAC和广播中的不一样,便会更新自己的缓存,然后当客户端发起请求时,路由器就将请求发送至Standby服务器。

由上面简单高可用集群可以概括出高可用集群(High Availability Cluster)是指当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服务。高可用集群是用于单个节点发生故障时,能够自动将资源、服务进行切换,这样可以保证服务一直在线。

高可用集群一般是通过系统的可靠性(Reliability)和系统 的可维护性(Maintainability)来衡量的。通常用平均无故障时间(MTTF)来衡量系统的可靠性,用平均维护 时间(MTTR)来衡量系统的可维护性。因此,一个高可用集群服务可以这样来定义:HA=MTTF/(MTTF+MTTR)*100%。

描述

通俗叫法

可用性级别

年度停机时间

基本可用

2个9

99%

87.6小时

较高可用

3个9

99.9%

8.8小时

具有故障自动恢复能力的可用

4个9

99.99%

53分钟

极高可用

5个9

99.999%

5分钟

在上面的描述中,对Director服务器的主、从描述将会产生误解,其实,当故障转移之后,主变成了从,从变成了主,将提供正常服务的Director主机称之为Primary更合理。

以上图为例,考虑一个问题,当Primary服务器故障修复时,是否需要将Standby服务器上的资源转移回Primary服务器?

假如我们在服务器上运行的是一个WEB服务,当Standby服务器的资源转移回Primary服务器时,所有用户连接必然会断开,用户体验不佳,但是,Standby服务器作为备用服务器,一般情况下,性能比Primary服务器差很多,我们不转移回Primary服务器,整个WEB性能跟不上,用户体验也不好,因此,就要判断资源更倾向于运行在那个服务器节点,资源对服务器节点的倾向值,称之为高可用集群的资源粘性。资源粘性的值一般用整数来表示,正数表示倾向与运行在当前节点,负数表示不适合运行在当前节点。再假如,Primary服务器的资源粘性是10,Standby的资源粘性是-10,当Primary服务器故障修复时,资源从StandbyPrimary服务器,这个过程称之为自动恢复,也称之为故障回转(FailBack)。

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

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

相关文章

c语言指针没学可以学java_这是一篇来自刚脱离C语言的菜鸟所写下来的关于C语言之后转JAVA入门前期学习的感想...

/***My First writing*Name Li Tai Yue*Date 2018.12.14*/这是一篇来自刚脱离C语言的菜鸟所写下来的关于C语言之后转JAVA入门前期学习的感想。并且我也觉得这是一篇所有在校学习程序的小伙伴值得一看的文章。我想很多小伙帮都觉得敲代码是一件非常枯燥的事情,每天敲…

java 如何将数字倒置_每日一个小算法之整数中每位上的数字进行反转 20190810

题目要求:给出一个32位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21示例 4:输入:9646324351输出: 0注意:假设我们的环境只能存储得下 3…

java se 开发web程序_JDiy快速开发WEB之javaSE环境搭建-初级

大学的时候对web开发很感兴趣,对网页中的动画,对用户注册,对网页中表格填写等等都倍感兴趣。加之又有专业课程编程语言java,因此,对java web产生了浓厚的兴趣,再加之有北京圣思园 风中叶 大师的视频教程&am…

java apktoo_apktool.jar

apktool.jar是APKTOOL这个反编译工具必须用到的必备jar包,给大家提供最新的apktool.jar2.3.4,有需要的赶快下载吧!。相关软件软件大小版本说明下载地址apktool.jar是APKTOOL这个反编译工具必须用到的必备jar包,给大家提供最新的ap…

Java 内存 关系_JVM和Linux之间的详细内存关系

JVM和Linux之间的详细内存关系在一些具有8g物理内存的服务器上,主要运行Java服务。系统内存分配如下:Java服务的JVM堆大小设置为6g,监视过程大约需要600m,Linux本身使用大约800m。从表面上看,物理记忆应该足够&#xf…

java遍历删除原理,Java 垃圾回收机制实现原理

一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念&…

matlab简易编程,MATLAB简单编程

本帖最后由 wanggh 于 2016-12-5 14:47 编辑用数值差分、SOR迭代法求雷诺方程和用牛顿迭代法求解轴向柱塞泵滑靴副压力场的算法,%油膜厚度场、压力场迭代 MATLAB只认弧度制,不认角度制clear all; % (60rpm1rad/s)wg1000; %1000…

php删除字段某个字段,php数如何组删除某个字段

【摘要】PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。下面是php数如何组删除某个字段,让我们一起…

JAVA table word,实战 | Java读取Word,包含表格!

本文转载自微信公众号「JAVA日知录」,作者单一色调。转载本文请联系JAVA日知录公众号。不能每天都发鸡汤呀,今天分享一篇开发实战。业务需求我们有这样一个需求,需要抽取出WORD文档中的内容,然后组装成特定的json格式发送给第三方…

mysql分列查询,Mysql导出问题,乱码问题,为分列问题解决!!!

前言:本文可以先阅读完再跟着做。Mysql查询出的数据导出为csv最近遇到同学的一个需求,要求差寻一些数据然后导出给他,因为之前也有做过类似的事情,觉得可以一下就搞定,但是居然出现乱码又出现没有分列的情况&#xff0…

微信你scope 参数错误 php,微信开发: scope参数错误或没有scope权限解决方法

scope为snsapi_userinfo 未关注者点击授权提示 scope参数错误或没有scope权限解决方法出现这种错误网上查出现有的原因是:订阅号没有相关的权限账号没有认证,没有相关的权限那么这里遇到问题两种都不是。开发账号是 服务号,而且也是认证号。解决方法:错…

Linux怎么查看保存的密码,在Linux中查看已保存的WiFi密码

在安装流行操作系统时,如 Windows 10、Ubuntu、macOS 等,都会要求用户提前输入 WiFi 密码。特别是 Ubuntu 系统,在配置安装向导时就可以连接 WiFi,以方便在系统安装过程就从网络获取最新更新,并在安装完成后就为用户提…

linux 网卡 巨帧,Linux Kernel e1000e驱动巨型帧处理绕过安全检查漏洞

发布日期:2009-12-29更新日期:2010-01-13受影响系统:Linux kernel 2.6.32.3描述:--------------------------------------------------------------------------------BUGTRAQ ID: 37523CVE(CAN) ID: CVE-2009-4538Linux Kernel是…

linux下如何启动vsftp服务,如何在Ubuntu 18.04上使用VSFTP快速设置FTP服务器

如果您需要配置一个FTP服务器快速启动运行,那么VSFTP的易用性是无与伦比的。如果你想将应用程序迁移到最新版本Ubuntu Linux服务器中,并且需要快速启动并运行FTP服务器。如何操作?这实际上非常简单。这里将使用VSFTP服务器向您展示如何做到这…

红帽linux kvm,初识RedHat虚拟化—KVM

redhat虚拟化之KVM初识虚拟化简介:虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统&#xff0…

Linux中的软件源详解,Ubuntu Linux 软件源详解

中国台湾 台湾大学更新服务器(推荐网通用户使用,强烈推荐此源,比较完整):deb http://Ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy main restricted universe multiversedeb-src http://ubuntu.csie.ntu.edu.tw/ubuntu/ gutsy main restricted univ…

pc版android sd卡,告别瓶颈:安卓闪存(SD卡)I/O优化

告别瓶颈:安卓闪存(SD卡)I/O优化闪存(SD卡)调度器现在电脑的瓶颈往往不是什么内存CPU,而且吱吱嘎嘎的硬盘。在安卓机上,情况十分类似——虽然安卓机和SSD一样使用闪存,但没有专门的主控,速度好不到哪里去。由于成本限制…

android 常用开发插件,Android Studio 开发利器【常用插件】

1.ADB IdeaADB操作快捷菜单,快速清除数据,重启应用,卸载应用等快捷键:Windows: CtrlAltShiftAMac OSX: CtrlShiftA当然,你可以在KeyMap处修改为自己喜欢的按键。2.postfix支持Log,Toast,Logd的快速书写3.AndroidCodeGe…

android mov转mp4格式转换,如何在线将MOV文件转换成MP4文件?

Renee Video Editor-功能强大的视频编辑软件免费 软件免费试用(仅限非商业用途)。视频剪辑 支持简易剪辑、批量剪辑、高级剪辑。操作简单 界面简洁,只需简单几步即可快速完成操作。功能强大软件还支持剪切、裁剪、旋转、转换、合并、特效、水印、字幕等多种功能。格…

html5文章页面,文章页面的设计《 HTML5 与 Bootstrap 应用实例 》

文章页面的设计跟主页差不多,页头,底部边栏,还有页脚都是一样的,不同是,页面的主内容区域分成两部分 ... 左边占用 8 个网格宽度,显示文章的内容,比如标题,正文,文章的评…