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

    单点故障问题

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

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

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

    Zookeper

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

    为啥需要分布式锁

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

    Master选举

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

    什么是zookeeper”

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

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

  • 相关阅读:
    POJ2945 Find the Clones trie树
    BZOJ 3796 Mushroom追妹纸 哈希+二分(+KMP)
    java-web的mybatis的学习
    关于字符串split一些用法
    hive 中简单的udf函数编写
    hive 用户行为分析(活跃。启动,留存,回访,新增)的一些经典sql
    浏览收藏夹 看到了hadoop3.0 的改动
    pythonDay01
    关于java 操作linux命令的 一些相关
    需求中碰到的简单Map集合 key相同合并 value的思路
  • 原文地址:https://www.cnblogs.com/kosinggit/p/11385857.html
Copyright © 2011-2022 走看看