分布式系统与zookeeper简介

zookeeper简介

zookeeper 动物园管理员
• zookeeper是一个中间件,提供协调服务
• 作用于分布式系统,发挥其优势,可以为大数据服务
• 支持java,提供java和c语言的客户点api
在这里插入图片描述

什么是分布式系统

• 很多台计算机组成一个整体,一个整体一致对外并且处理同一请求
对于内部来讲是透明的,对于用户来讲是不透明的,比如:买单需要经过很多的服务,一步一步的走
• 内部的每台计算机都可以相互通讯(rest/rpc/web server)
• 客户端到服务端的一次请求到相应结束会历经多台计算机
分布式图解一
在这里插入图片描述

分布式图解二
在这里插入图片描述

分布式系统就是将原来的一套系统进行拆分,把它拆分为多个子系统,多个子系统整合成一个庞大的系统,这个庞大的系统对于用户来讲不透明的,对于开发人员全部都是透明的
一个庞大的系统如何进行拆分
根据业务去拆分,我们会把业务分成各种各样的业务,进行细分或者模块化,然后根据这些业务拆分为不同的服务,也可以说是 服务治理,服务化,那么不通的服务也可以做相应的集群,这样的话我们就可以形成一个分布式的集群系统。
分布式集群系统的好处
• 服务器的负载会大大的增加
• 用户的请求会分流的不同的系统里面去
• 这样的话这个庞大的系统的负载会整体的提高

分布式系统的瓶颈

  • 当发送大并发的时候,系统的负载会上升,请求量会暴增,我们就应该 先来先走,后来后走 ,这就是 分布式锁的案例
  • 高并发的时候,也可以比喻为:道路上车流量非常的多,车流量非常多的时候,就会形成堵车,在堵车的时候,就应该有一个交通指挥官,指挥车辆的通行

zookeeper的特性

• 一致性:数据一致性,数据按照顺序分批入库
• 原子性:事务要么成功要么失败,不会局部化
• 单一视图:客户端连接集群中的任意zk节点,数据都是一致的
• 可靠性:每次对zk的操作状态都会保存在服务端
我们可以查看到对zookeeper的操作都是什么状态,甚至可以根据每一次的状态进行回滚
• 实时性:客户端可以读取到zk服务端的最新数据(有十几秒的延迟)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值