热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

微观剖析高可用集群(HA)的层次结构

高可用集群,英文原文为HighAvailabilityCluster,简称HACluster,简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统就是集群的节点(node)。从上图可以看出一个高可用集群分为四层架构:Archi

高可用集群,英文原文为High Availability Cluster,简称HA Cluster,简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统 就是集群的节点(node)。


从上图可以看出一个高可用集群分为四层架构:Architecture Layels 

由低到高依次分析:

1、信息层/基础架构层(Messaging/Infrastructure

      传递心跳信息,集群事务信息,是一个高可用集群最基本最底层非常重要的子层,靠一个单独的服务组件来实现。 类似于TCP/IP协议的物理层 真正的通讯是靠该层实现

2、成员关系层(Membership

       法定票数的计算与统计,重新收敛生成状态信息的层次,为上层进行资源分配提供依据的基础 
       核心工具CCM 
       CCM(Cluster Consensus Membership)服务的作用:承上启下,监听底层接受的心跳信息,当监听不到心跳信息的时候就重新计算整个集群的票数和收敛状态信息,并            将结果转递给上层,让上层做出决定采取怎样的措施,CCM还能够生成一个各节点状态的拓扑结构概览图,以本节点做为视角,保证该节点在特殊情况下能够采取对应的           动作

3、资源分配层(Resource Allocation layers):这层次主要是实现资源管理的,核心工具有以下几种
       集群资源管理器(CRM,Cluster Resource Manager),来实现资源的分配,资源分配的每个动作都要通过CRM来实现,是核心组建,每个节点上的CRM都维护一个              CIB. 定义资源特定的属性,哪些资源定义在同一个节点上

        1> 每一个动作都要通过CRM来实现 很多资源的定义都可以通过CRM定义
         2>在每一个节点上每一个节点都维护着一个CIB 只有工作在DC上的才可以修改

         集群信息基库(CIB ,Cluster Infonation Base)XML的主配置文件,在内存中的一个XML格式的集群级别的配置文件,只是包存在文件中,工作的时候常驻内存 并且需            要通知给其它节点,只有DC上的CIB才能进行修改,其他节点上的CIB都是拷贝DC上
          LRM(Local Resource Manager)本地资源管理器,获取本地某个资源的状态,并且实现本地资源的管理,如当检测到对方没有心跳信息时,来启动本地的服务进程等
          XLM文档是一种能够实现各节点之间无差误的理解节点之间的配置信息的文件格式   成员有多少个节点就有多少票
           配置XML方式: 
          1>基于命令行配置 
          2>基于前台的图形界面配置
          PE(Policy Engine):策略引擎,来定义资源转移的一整套转移方式,但只是做策略者,并不亲自来参加资源转移的过程,而是让TE来执行自己的策略
          TE(Transition Engine): 就是来执行型PE做出的策略的
          并且只有DC上才运行PE和TE。

          第三层的主要作用就是实现资源管理   真正提供资源的要靠资源本身 如:IP地址,httpd ,共享存储


4、资源层(Resource Layer) 通过LSB脚本来实现脚本服务的启动关闭 
          核心工具

          1>RA 通常是一个脚本,LSB init 脚本,保存的位置/etc/initd  
          2>OCF开放式集群框架(Open Clustering Framework) 脚本和LSB功能一样 所支持功能不完全一样,符合OCF就能用比LSBA更加通用
          3>heartbeart 早期提供的资源管理机制
          4>特定集群服务开发人员自定义的资源代理 如:DRBD
              RA:资源代理 在本机上或其他节点上实现管理某种特定资源,对资源的管理有启动、停止、加载服务,获取服务状态信息等
              只有对资源应用以后进行管理后才算是提供了高可用服务  


推荐阅读
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讲述了如何通过代码在Android中更改Recycler视图项的背景颜色。通过在onBindViewHolder方法中设置条件判断,可以实现根据条件改变背景颜色的效果。同时,还介绍了如何修改底部边框颜色以及提供了RecyclerView Fragment layout.xml和项目布局文件的示例代码。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了在使用MSXML解析XML文件时出现DTD禁用问题的解决方案。通过代码示例和错误信息获取方法,解释了默认情况下DTD是禁用的,以及如何启用DTD的方法。此外,还提到了网上关于该问题的信息相对较少,因此本文提供了解决方案以供参考。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文是关于自学Android的笔记,包括查看类的源码的方法,活动注册的必要性以及布局练习的重要性。通过学习本文,读者可以了解到在自学Android过程中的一些关键点和注意事项。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 突破MIUI14限制,自定义胶囊图标、大图标样式,支持任意APP
    本文介绍了如何突破MIUI14的限制,实现自定义胶囊图标和大图标样式,并支持任意APP。需要一定的动手能力和主题设计师账号权限或者会主题pojie。详细步骤包括应用包名获取、素材制作和封包获取等。 ... [详细]
author-avatar
KL
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有