随着互联网技术的发展,大型网站需要的计算能力和存储能力越来越高。网站架构逐渐从集中式转变成分布式。
虽然分布式和集中式系统相比有很多优势,比如能提供更强的计算、存储能力,避免单点故障等问题。但是由于采用分布式部署的方式,就经常会出现网络故障等问题,并且如何在分布式系统中保证数据的一致性和可用性也是一个比较关键的问题。
分布式的工作方式有点类似于团队合作。当有一项任务分配到某个团队之后,团队内部的成员开始各司其职,然后把工作结果统一汇总给团队主管,由团队主管再整理团队的工作成果汇报给公司。
但是,日常工作中,如果两个员工或用户对某件事产生了分歧,通常我们的做法是找上级,去做数据和信息的同步。
那么对于我们的服务呢,多个节点之间数据不同步如何处理?
对于分布式集群来说,这个时候,我们通常一个能够在各个服务或节点之间进行协调的服务或中间人
我们可以一起看看,协调服务中的佼佼者--ZooKeeper
zookeeper实际上是yahoo开发的,用于分布式中一致性处理的框架。最初其作为研发Hadoop时的副产品。由于分布式系统中一致性处理较为困难,其他的分布式系统没有必要
费劲重复造轮子,故随后的分布式系统中大量应用了zookeeper,以至于ZooKeeper成为了各种分布式系统的基础组件,其地位之重要,可想而知。著名的hadoop、kafka、dubbo 都是基于ZooKeeper而构建。
要想理解ZooKeeper到底是做啥的,那首先得理解清楚,什么是一致性。
所谓的一致性,实际上就是围绕着“看见”来的。谁能看见?能否看见?什么时候看见?举个例子:淘宝后台卖家,在后台上架一件大促的商品,通过服务器A提交到主数据库,假设刚提交后立马就有用户去通过应用服务器B去从数据库查询该商品,就会出现一个现象,卖家已经更新成功了,然而买家却看不到;而经过一段时间后,主数据库的数据同步到了从数据库,买家就能查到了。
假设卖家更新成功之后买家立马就能看到卖家的更新,则称为强一致性;
如果卖家更新成功后买家不能看到卖家更新的内容,则称为弱一致性;
而卖家更新成功后,买家经过一段时间最终能看到卖家的更新,则称为最终一致性。
ZooKeeper的学习资料有很多,一篇帖子是装不下的。
教程部分截图:
现在把教程分享给有需要的人,大家花点小钱捧个场就行。其实价值这东西仁者见仁,智者见智!对你有帮助的那就是有价值,免费即是最贵。
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会越优秀。
教程之所以收费,是为了过滤一些拿了免费的,又不珍惜的人。一点点的付出,买不了吃亏,买不了上当,一顿饭钱,一瓶水钱,就可以成就你。诚信至上,感兴趣的朋友直接点击下方官方购买主页获取资源。
》》》点击这里《《《
购买成功后,会弹出网盘链接,复制链接,下载教程即可开始学习。而且网盘链接永久有效,请您一定保存,一次付费,终身学习,我们会在网盘下持续更新国内最新最有价值的软件教程。我们只提供最牛X的课程,只为造就你的精英职业生涯!