转:应用级集群系统的设计(下)
基于健康度的分发器
在不同类型的业务资源监测器中,都会生成相应的业务资源健康度评估列表。健康度分发器就是以这些评估列表提供的数据为基准点。结合在第一级分发器解 析后得到的符合匹配条件的若干目标资源,根据相关联评估列表,从中筛选出最优的目标资源。健康度分发器在“业务类型与业务资源映射表”的基础上,最终形成 最优目标资源分发路径表,它包括了当前系统中每种“业务类型”对应访问请求的最优分发目标资源。
表 12. 最优目标资源分发表
业务类型 | BRC/BRG 名称 | |
业务类型 - 1 | BRC_1 | BRG_1 |
-- | -- | |
业务类型 - 2 | -- | -- |
-- | -- | |
BRC_3 | BRG_2 | |
业务类型 -3 | BRC_1 | BRG_3 |
-- | -- |
分发器与业务资源监测器的关系
分发器并未实时地向业务资源监测器发送询问请求来得到当前最新的最优目标资源的分布情况,而是作为业务资源监测器的数据监听者,等待更新数据的通知。
- 分发器必須要作为监听方,注册到相关的业务资源监测器当中
- 当业务资源监测器在资源相关数据发生变化时,应立即向分发器发出更新通知。
- 资源正常运行,只是负载发生变化而引发的更新通知
- 资源发生故障,其分布信息发生变化而引发的更新通知
- 分发器获得更新通知后,从业务资源监测器中取出最新的数据,
- 更新“业务类型与业务资源映射表”
- 更新“最优目标资源分发表”
基于内容的分发器与基于健康度的分发器组合成一个负载均衡器,共同完成对客户端访问请求的路由选择,通过这个路由筛选过程,达到了用最优秀的资源服务客户端的目的。
清单 4. 分发器的接口设计
public interface IDistributor extends IListener { public void update ( Object data ); } |
|
故障转移管理器
任何一个系统都不能百分之一百的保证永远不发生任何故障,故障的发生将导致相关成本的提升,那么对于如何处理和管理故障以减少成本支出就显得尤为重 要。故障管理器通过故障资源监测器可以得到当前所有处理故障状态的业务资源。故障管理器对这些资源完成停止、重启和转移等操作。
前面已经提到了,在集群系统运行时,对所有相关业务资源均受到 BRMF 的监测。当故障管理器接收到业务资源故障通知后,会遵循一个管理原则,即当某业务资源发生后立刻停止被中止,然后试图进行本地重启,如果重启不成功则对资 源进行适当的迁移再运行。遵循这一原则的目的是为了能够保证组件在业务逻辑角度上的完整性和一致性。
从业务资源监测器与故障转移管理器的关系入手,以 BRG 发生故障为例,展开故障转移管理的基本过程:
- 当业务资源容器监测器监测到 RG 资源发生故障时,立即触发资源故障事件
- 业务资源容器监测器向 BRC 发送业务资源注销事件消息,将 BRC 中的这个故障 BRG 注销,停止对该 BRG 资源的监测
- 故障资源监测器将此故障 BRG 信息加入“故障资源分布列表”。
- 向故障转移管理器发送资源故障事件消息,并将此故障 BRG 的管理权移交给故障转移管理器。首先,故障转移管理器对资源进行重启操作,如果重启失败(一般而言,硬件发生故障是导致重启失败的常见原因):
- 首先在系统中检查是否还有某些系统资源因此故障 BRG 而处于被占用状态,如果有则系统强制释放这些资源
- 检查 BRG 中的 BRU 进程是否还有遗留内存,如果有则将其从内存中清除。
- 此时系统中已没有任何与故障 BRG 相关的业务资源存在,可以开始转移工作,根据故障资源转移策略的裁定,在新 BRC 节点上以新 BRC 的名义重新激活先前发生故障的 BRG 资源。此时的 BRG 资源拥有权属于当前这个新的 BRC 节点。
- 当故障转移管理器成功完成故障资源重启或转移工作后,通知业务资源监测该 BRG 资源当前的分布信息,此时业务资源容器监测器重新开始对该 BRG 资源的监测工作。
表 13. 业务资源与故障转移策略配置
BRC 名称 | BRG 名称 | 策略集 |
BR C_1 | BRG_1 | failover_business_A.conf |
BRG_2 | failover_business_A.conf | |
BRG_3 | failover_business_B.conf | |
BRC_2 | BRG_1 | failover_business_A.conf |
BRG_2 | failover_business_D.conf | |
BRC_3 | BRG_1 | failover_business_C.conf |
|
结束语
在大型的应用级集群服务系统的实施过程当中,设计人员需要考虑相当多的要素:功能、可靠性、可用性和性能等若干方面,本文仅从集群的业务资源设计、 资源监测器、负载均衡器和故障转移管理器四个部分简要的阐述了集群系统的基本设计,抛砖引玉,希望能与大家共同深入探讨集群系统的设计与实施。
转载于:https://www.cnblogs.com/liupeizhi/articles/2659407.html
转:应用级集群系统的设计(下)相关推荐
- 【博士论文】集群系统中的网络流调度
来源:专知 本文为论文,建议阅读5分钟当前,集群系统的部署和使用非常广泛. 来自清华大学张彤的博士论文,入选2021年度"CCF优秀博士学位论文奖"初评名单! https://ww ...
- 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计
摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析. ...
- Linux服务器集群系统(一)--转
引用地址:http://www.linuxvirtualserver.org/zh/lvs1.html LVS项目介绍 章文嵩 (wensong@linux-vs.org) 2002 年 3 月 本文 ...
- 集群系统 刀片服务器,刀片服务器集群原理
刀片服务器 所谓刀片服务器(准确的说应叫做刀片式服务器)是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,实现高可用和高密度.每一块"刀片"实际上就是一块系统主板.它们可以通 ...
- 3种双集群系统方案设计模式详解
当前社会.企业运行当中,大数据分析.数据仓库平台已逐渐成为生产.生活的重要地位,不再是一个附属的可有可无的分析系统,外部监控要求.企业内部服务,涌现大批要求7*24小时在线的应用,逐步出现不同等级要求 ...
- 基于Linux的集群系统(五) Linux集群系统的实现
1.设计目标 设计一个基于Linux的集群系统,它能够提供负载平衡的功能.系统能够不断监视集群中各台实际服务器的负载状况,并且将来自外部网的多种请求转发到内部网中的某一台实际服务器上执行. 具体来说, ...
- 中小企业存储集群系统建设方案
中小企业存储系统建设方案 行业特点 随着市场经济的高速发展,在中国每年都有数以万计的中小企业崛起,在国民生产总值中,各种中小企业占有 相当的比重,跟随商场经济的变化,我国中小企业得以飞速成长,但同时也 ...
- Linux服务器集群系统(LVS)
from:http://www.linuxvirtualserver.org/zh/lvs1.html#5 本文介绍了Linux服务器集群系统--LVS(Linux Virtual Server)项目 ...
- Linux服务器集群系统--作者
本文介绍了Linux服务器集群系统--LVS(Linux Virtual Server)项目的产生背景和目标,并描述了LVS服务器集群框架及目前提供的软件,列举LVS集群系统的特点和一些实际应用,最后 ...
- LVS Linux服务器集群系统
Linux服务器集群系统(一) LVS项目介绍 章文嵩 (wensong@linux-vs.org) 2002 年 3 月 本文介绍了Linux服务器集群系统--LVS(Linux Virtual S ...
最新文章
- Can't connect to local MySQL Server throught socket '/var/run/mysqld/mysqld.sock'(2)
- 【模型解读】GoogLeNet中的inception结构,你看懂了吗
- wxpython应用程序对象与顶级窗口_wxPython--学习笔记
- Linux select TCP并发服务器与客户端编程
- 《剑指offer》栈的压入、弹出序列
- spring-boot注解详解(六)
- DataTable操作
- STM32使用定时器延时
- Activity 启动模式
- Head first 第一章
- oracle+生成+sql语句,Oracle使用SQL语句生成日历的实现方法
- linux下的各种压缩文件安装介绍
- linux c程序 bash,linux-如何使bash程序接受来自另一个C程序的命令
- ViewModel中C# Property自动添加OnPropertyChanged处理的小工具, 以及相应Python知识点...
- ssq爬取【20210618有效】
- 【图文并茂】U盘重装Win10方法教程
- Actors编程模型
- PowerShell报错:无法加载文件C:\Users\server\Documents\windowsPowerShell\profile.ps1...
- 一次不常见的等待事件:RECO进程enq: DR - contention
- 20230214不是情人的情人节
热门文章
- centos7查看设置IP地址
- GitStats-Git历史统计信息工具(转载)
- Android开发之在不同API上遇见的坑
- java 内部类_我有心上人了,Java内部类
- k8s部署jenkins
- (秒杀项目) 4.5 项目部署与压测
- suse linux 11 下载地址,suse11.2正式版下载地址(cd,dvd,net)
- linux mmu的实现的讲解_Linux_MMU
- Echarts:Vue3中引入地图,展示不同省市数据
- SQL:postgresql中判断字段是否为某个值的方法IN操作符