zoukankan      html  css  js  c++  java
  • 分布式锁

    单点故障问题

    一个服务阻塞或者挂机导致其余服务都不可用的情况就是单点故障。

    分布式系统中的单点故障,分布式系统通常采用主从模式,一个主控机连接多个处理节点,当主节点出现问题导致整个系统出现瘫痪。

    解决单点故障需要用到分布式锁来解决,zookeeper是一种分布式锁的解决方案

    Zookeper

    既是一个服务注册于发现框架也是分布式协调技术;

    为啥需要分布式锁

    防止分布式系统中多个进程相互干扰;需要通过分布式协调技术进行调度,其核心就是实现一个分布式锁;

    Master选举

    这些主节点首先向zookeeper注册,首先进行编号,编号最小的成为主节点;主节点挂了,所注册的节点自动从zookeeper中删除,剩下编号最小的自动成为主节点;“多主问题”

    什么是zookeeper”

    zookeeper是服务注册与发现中心,主要用来解决分布式锁的问题,解释一下单点故障问题,分布式系统中本来有一个主服务器下面有若干个从服务器,主服务器出现问题,从服务器因为主服务器无法工作;分布式锁就是用来解决单点故障问题;传统解决方案是一个主节点一个备用节点,备用节点定时会ping主节点,ping不通取代主节点,但网络震荡容易造成丢包,出现双主问题;为了解决这个问题我们引入了分布式锁技术而zookeeper就是为了解决分布式锁问题;

    即所有的服务启动的时候都要向zookeeper注册,zookeeper维护了一个节点列表,zookeeper会来选举谁成为主节点,编号最小成为主节点,剩下的备用节点成阻塞状态,主节点出现问题直接从注册列表中删掉,备用节点由zookeeper继续选举,重新产生主节点,原来主节点如果没问题会重新注册成新的主节点。

  • 相关阅读:
    mysql practice
    image update to ubuntu18.04
    C++11 new feature
    bazel remote executor--- buildfarm( in docker)
    python3学习笔记13(数据结构)
    python3学习笔记12(变量作用域)
    python3学习笔记11(函数)
    jmeter 01 之beanshell preprocessor
    python3学习笔记10(迭代器和生成器)
    python3学习笔记十(循环语句)
  • 原文地址:https://www.cnblogs.com/kosinggit/p/11385857.html
Copyright © 2011-2022 走看看