01-zk 概述入门

Zookeeper概述

一、简介

  • ZooKeeper致力于提供一个高性能、高可用,且具备严格的顺序访问控制能力的分布式协调服务,是雅虎公司创建,是Google的Chubby一个开源的实现,也是Hadoop和Hbase的重要组件。

二、特点

2.1 数据结构简单

  • 共享的树形结构,类似文件系统,存储于内存;

2.2 支持集群

  • 可以构建集群,避免单点故障,3-5台机器就可以组成集群,超过半数正常工作就能对外提供服务;

2.3 顺序访问

  • 对于每个写请求,zk会分配一个全局唯一的递增编号,利用这个特性可以实现高级协调服务;

2.4 性能

  • 高性能,基于内存操作,服务于非事务请求,适用于读操作为主的业务场景。3台zk集群能达到13w QPS;

三、 使用场景

  • Master选举:比如Hadoop中的应用
  • 集群管理(kafka):服务注册与发现,监控服务是否监控
  • 分布式锁:应用多
  • 负载均衡(服务注册与发现)Nginx是服务端负载,zk做注册与发现是客户端负载,客户端来选择需要访问的服务端,包括SpringCloud也是。
  • 配置管理:多数据源配置,能够实时更新。
  • 数据发布订阅:依赖事件监听机制来实现
  • 命名服务:利用节点的唯一性,保证生产的业务比如订单全局唯一
  • 分布式队列:应用不多

四、小结

  • Zookeeper是什么框架?
分布式事事物协调器
  • Zookeeper有哪几种节点类型?
临时节点/永久节点
顺序节点/
组合起来是4种节点
  • Zookeeper对节点的watch监听通知是永久的吗?
是一次性的
  • 部署方式?集群中的机器角色都有哪些?集群最少要几台机器?集群如果有3台机器,挂掉一台集群还能工作吗?挂掉两台呢?
可以单机部署,也可以集群部署,也可以在单机上部署伪集群。
集中的角色有三种。(Leader Fellower Obeserver)
集群最少需要3台设备。
3台设备的集群可以挂一台,保证大多数存活,挂2台后集群不能正常对外服务。
  • 集群支持动态添加机器吗?
如果是单机扩展为集群,那么会短暂的中断对外服务。因为需要修改配置文件并且重启服务
如果是集群扩容,现部署新的机器,再一台一台的重启老机器,同一时刻只有一台不可用,保证大多数可用,因此对外服务不会中断
  • Paxos算法& Zookeeper使用协议,选举算法和流程
请参阅参考文献[3]

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值