2.Zookeeper

一、Zookeeper概述

1.分布式系统的问题

zookeeper提供分布式的锁服务,对于一个集群的稳定起到非常关键的作用,因为它可以协调不同节点之间的工作(核心是分布式的锁服务)。

I.分布式系统的问题

  • 与单机系统不同:单机开发涉及到锁的地方是进程的多线程的开发,可能会搞一些内存锁、互斥锁、读写锁等。为什么通过锁可以控制有效地运转,是因为锁可以作为一个全局唯一的一个标准 。
    • 内存地址一致 :存在竞争公共资源
    • 单机出问题概率低
  • 分布式系统
    • 一致性问题 :HDFS的一致性,分为强一致和弱一致(还没有达到三副本平衡,在只有一个副本可以对外提供服务,之后慢慢拷贝得到三副本)。
    • 容灾容错 :如一台机器挂了
    • 执行顺序问题 :锁服务
    • 事务性问题

在这里插入图片描述
单机多线程情况时锁的经典例子:
如下图:蓝色的方块是公共变量,黄色的方块是线程。在线程1还没来得及去写时线程2也要执行。
在这里插入图片描述

II.核心问题

  • 没有一个全局的主控,协调或控制中心:导致没有一个正确的顺序。
  • 需要一个松散耦合(对硬件依赖性不强,不需要高配置机器,如内存、硬盘特别大,cpu核数多么的多)的分布式系统中粗粒度锁(进程间多线程是细粒度的)以及可靠性存储(低容量,这个系统可以存储一些数据)的系统(例如zookeeper就是这样一个系统)。

在这里插入图片描述

2.zookeeper概述

I.简介

  • Hadoop系统:zookeeper属于hadoop生态里的重要成员
  • 开源高效可靠
  • 名字服务器(zookeeper系统可以给各个机器取名字,要求每台机器名字不一致),分布式同步(如用5台机器搭建zookeeper集群,用其中任意一台机器得到的信息都是一致的),组服务
  • Google内部实现叫Chubby:没有开源,雅虎模拟这么个服务搞出了zookeeper且开源捐给了Apache。
  • 基于Paxos协议:保证集群里访问任意一台机器得到的结果是一样的。

在这里插入图片描述

  • zookeeper以类似目录树的方式来管理节点
    • 数据模型类似于linux环境下的文件系统,比如目录里面有文件和目录,文件和目录中有层级关系,zookeeper中不能用相对路径。
      在这里插入图片描述
      zookeeper的形象图如下:很像文件目录树,图中的绿色方块都是节点。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值