zoukankan      html  css  js  c++  java
  • Oracle RAC中的投票算法

    RAC集群中有三台机器,A,B,C

    A,B,C都会有3票,假设这是A的心跳线出现问题,整个RAC集群就划分为两个paritition,

    一个是只有A的partition,一个是B,C组成的partition,

    两个partition都想以为对方出问题,自己需要接管业务,如果没有投票算法就会导致两个partition同时操作数据库(共享存储)的情况,注意,这里的数据库不是我们通常说的数据库,因为在RAC集群中,数据文件,配置文件,日志文件是放在后端的共享存储上的,RAC集群中的多个节点所共享。

    话说回来,出先两个partition后,因为A所在的partition只有自己了,没有其他心跳线连接,所以它只有自己的1票,

    而B,C所在的partition因为有彼此间的心跳线存在,都可向对方投票,所以他们都有2票,这个时候票数多的获得RAC集群的控制权,A所在的partition被踢出集群。A节点被强制重启,避免A和BC节点同时操作数据库。

  • 相关阅读:
    Thinkphp各种方法知识图谱
    Yii2.0学习笔记:创建登录表单
    Yii2.0学习笔记:第一个页面Saying Hello
    4.1
    4
    flask(3.0)
    flask(2.0)
    flask(1.1)装饰器装饰多个视图函数出现的问题
    flask(1.0)
    Flask之上下文管理机制
  • 原文地址:https://www.cnblogs.com/timlong/p/6156081.html
Copyright © 2011-2022 走看看