我经历过的阿里p6面试(三)

本文深入探讨了Zookeeper在分布式协调中的作用,包括其作为服务注册与发现的机制。介绍了Zookeeper的重要特性,如高可用性、数据存储在内存中确保高吞吐量和低延迟,以及临时和持久节点的概念。此外,还强调了Zookeeper的原子性、顺序一致性和单一系统映像等关键特性。
摘要由CSDN通过智能技术生成

题目拓展讲解—zookeeper 怎么做服务的注册与发现,注册了哪些信息?

相关历史文章目录
面试合集

  1. 我经历过的阿里p6面试(一)
  2. 我经历过的阿里p6面试(二)

本篇文章从基础概念入手,下一篇继续将名词概念具体化.

zookeeper入门介绍和基本概念

1.zookeeper的由来

雅虎的开发人员就试图开发一个通用的无单点问题的分布式协调框架,来源于Yahoo;


2.zookeeper的设计目的

将复杂的且容易出错的分布式一致性服务封装起来,构成一个高效可用的原语集,并提供给用户一系列简单可用的接口;
原语: 操作系统或计算机网络用语范畴。它是由若干条指令组成的,用于完成一定功能的一个过程。具有不可分割性,即原语的执行必须是连续的,在执行过程中不允许被中断


3.利用zookeeper可以干什么?

zookeeper 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于 zooKeeper 实现诸如:
数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。


4.关于zookeeper的一些重要概念

  1. zookeeper本身是一个分布式程序,而且只要半数以上节点存活,zookeeper就能够正常的提供服务.为了保证高可用,最好是以集群形态来部署zookeeper,这样只要其中大部分机器是可用的(能够容忍一定的机器故障),那么zookeeper本身仍然是可用的.
  2. zookeeper将数据保存在内存中,这也就保证了高吞吐量与低延迟,与此同时,有利有弊,内存限制了能够存储的容量不能太大,此限制也是保持Znode中存储的数据量较小的一个原因.
  3. zookeeper是高性能的.在**"读"多于"写"的场景中尤其的高性能**,因为"写"会导致所有的服务器间同步状态."读"多于"写"是协调服务的典型场景.
  4. zookeeper有临时节点的概念.当创建临时节点的客户端会话一直保持活动,临时节点就会一直存在.当该会话终结时,临时节点被删除.持久节点是指一旦这个Znode被创建了,除非主动进行Znode移除造作,否则这个Znode将一直保存在zookeeper上.
    5.zooKeeper 底层其实只提供了两个功能:①管理(存储、读取)用户程序提交的数据;②为用户程序提交数据节点监听服务。

5.zookeeper的几大特点

1.顺序一直性
包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息a在消息b前发布,则在所有Server上消息a都将在消息b前被发布;偏序是指如果一个消息b在消息a后被同一个发送者发布,a必将排在b前面。
2.原子性
更新只能成功或者失败,没有中间状态。
3.单一系统映像
无论客户端连到哪一个 zookeeper 服务器上,看到服务端的数据模型是一致的。
4.可靠性
如果消息m被到一台服务器接受,那么它将被所有的服务器接受。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值