dubbo专题-深入分析zookeeper创建节点过程(高清大图无水印版)
上周就有朋友问到我,为什么我的源码解析总是偏偏要和面试题挂上钩呢?原因很简单
1.dubbo源码这么多,试问你从哪里做为切入点?也就是说该从哪里看起?所以以面试题为切入点,你可以理解为我是在回答"怎么看源码"这个问题.
2.我们研发飞机大炮并不是为了侵略,有时候可能只是单纯的想保护自己.
3.我的源码解析虽然以面试题为基础,但却不以面试为目的.因为面试如果问到dubbo的问题,绝大多数都是官方文档的内容,根本就没到需要看源码的程度.看源码的最终目的是为了解决实际问题,后面我会以实际的问题为例子,实战讲一讲看源码我究竟解决了什么网上搜不到,必须要看源码才能弄清楚的问题.所以现在就可以大胆在简书关注肥朝,已免后面错过精彩内容.
插播面试题
服务提供者能实现失效踢出是什么原理(高频题)
zookeeper的有哪些节点,他们有什么区别?讲一下应用场景
直入主题
同上周的zookeeper连接一样,这周我们讲的还是一行代码,如下图
那么我们打上断点开始
下面就要开始创建节点了 现在我们虽然看完源码了,但是还是没法回答面试题?那么下面就要敲黑板划重点了
敲黑板画重点zookeeper中节点是有生命周期的.具体的生命周期取决于节点的类型.节点主要分为持久节点(Persistent)和临时节点(Ephemeral),但是更详细的话还可以加上时序节点(Sequential),创建节点中往往组合使用,因此也就是4种.
持久节点
持久顺序节点
临时节点
临时顺序节点
其实不要纠结于分为几种,这就和语文的断句一样,你断句的方法不同,断出来的结果也不同.那么我们主要讲讲持久节点和临时节点的区别
持久节点
所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点,也就是说不会因为创建该节点的客户端会话失效而消失
临时节点
临时节点的生命周期和客户端会话绑定,也就是说,如果客户端会话失效,那么这个节点就会自动被清除掉
应用场景
zookeeper常用的应用场景我在上周已经画了思维导图,这里就不重复展示了.就拿分布式协调/通知来举例(这个例子既是在回答第一个面试题,也是在回答第二个面试题).
在分布式系统中,我们常常需要知道某个机器是否可用,传统的开发中,可以通过Ping某个主机来实现,Ping得通说明对方是可用的,相反是不可用的,ZK 中我们让所有的机其都注册一个临时节点,我们判断一个机器是否可用,我们只需要判断这个节点在ZK中是否存在就可以了,不需要直接去连接需要检查的机器,降低系统的复杂度
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
程序员吐槽自己阿里p7面试微软被拒,网友:你就是高级一点的码农
我想一提起阿里巴巴,我们就互相到马云这位大佬。然而阿里巴巴也是我国巨头企业霸主之一,在国际上也十分具有知名度。众所周知阿里员工的待遇和福利是非常优渥的,因此也吸引了很多年轻人的目光。但是阿里和国际知名企业如谷歌、微软等相较于技术来说还是有着一定的差距。 就有一位阿里工作的程序员想去微软养老。他说自己是P7级了,工作累想去微软养老,想要一个principal(微软的内部级别,类似于国内大厂的项目经理)。结果被拒了... 就楼主的吐槽而言,一位亚马逊工作的员工说出了自己的看法,在美国,他相信阿里巴巴对微软来说仍然有很大的差距,尤其是在科研方面,阿里的P7是不超过一个更高层次的码农而已,怎么能对标微软的principal了。事实就是如此,国内的阿里、百度却是离微软谷歌等国际性的大企业还存在差距。 基本上大部分网友认为楼主被拒才是正常的,阿里P7的程序员对标微软principal这一水平,阿里巴巴的很多业务P7也不是很强,在阿里你绩效好就可以拿很多钱,但这并不等同于你可以为其他公司获得相同的薪水。 不知道这楼主的吐槽你们怎么看,观众之中不乏人才,说下你们的看法吧! 想要学习Java高架构、分布...
- 下一篇
工业物联网发展存在的三大误区
近年来,我国工业物联网发展的如火如荼,种工业互联网平台,服务商、集成商和工业App平台如雨后春笋般冒出来,让人应接不暇。制造业也是热潮迭起,从3D打印到机器人,从工业4.0搭配智能制造,从“机器换人”到“工业云”,工业物联顺势而为,从外部环境而言,中国制造业面临激烈竞争,往日优势正在逐渐流失。越南、孟加拉等东南亚国家在低端制造业领域逐渐侵蚀中国空间。而高端制造业方面,德国和日本等发达国家依然保持优势。从内部环境来说,传统工业标准化流程存在劳动效率低、安全风险高等问题。随着国内“缺工”问题越来越严重,企业也“不得不”考虑使用技术手段提高劳动生产力,从人口红利转向人力资本红利。尽管工业物联网发展热潮涌动,各种工业互联网平台和工业APP如雨后春笋般冒了出来,但工业物联网在工业制造中的部署落地情况却不容乐观,那么工业物联网发展核心在哪里呢?又有什么影响其发展的因素呢,工业物联网的发展误区有哪些? 1.物联网不够安全?随着物联网技术的发展,但是其安全问题还是不能够保障,类似分布式拒绝服务攻击(DDoS)以及“wannacry”勒索病毒等让人们的恐慌情绪进一步发酵,大家对物联网的安全性更担忧了。物...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群