前言
记得第一次在项目中使用zookeeper是在2013年,其实也就是写了最简单的功能--配置。场景是这样,当在程序运行时,不重启程序的情况下,能动态改变其参数时。通过的做法时,把配置写在配置文件或数据库,定时去扫描他们是否变化,技术nb点的人,可能就会通过jmx。而有了zookeeper,通过它的watch机制,可以通过少量代码就可以实现同样的功能,大大降低了复杂度。
随着后来使用了越来越多的使用hbase、kafka、storm之后才发现,原来大数据的许多的组件都使用了它。俨然成了分布式环境中,不可缺少的组件。包括阿里的dubbo也用它来做服务注册、服务发现。
进阶
后来,在各种场景中都大量使用了它之后,对zookeeper的依赖越来越强烈了,对其很多功能都很好奇,如:选举机制、watch机制、session机制、事务机制、广播机制、二阶段提交等。这些内容基本上只能看源码并debug才能更好的理解。当理解之后,当自己开发的分布式程序大有益处。
总结
经过近些年使用zookeeper,通过思维导图的方式将于总结了一下。如下图所示:
后续再写一些关于zookeeper源码分析的文章。
http://tomcat.apache.org/tomcat-8.0-doc/building.html
相关推荐
由于文档内容庞大,知识点众多,我将逐一梳理并详细阐述。 ### JVM框架 JVM(Java虚拟机)是运行Java字节码的虚拟机进程。文档提到了SpringMVC、Spring、MyBatis、Netty和Spring Boot等框架。这些框架是Java开发中...
大数据基础涵盖了多个方面,从大数据的产生过程到各种技术的运用和操作,这些知识点构成了大数据领域的基石。以下是对这些知识点的详细阐述: 1. **大数据的产生过程**:大数据主要来源于互联网、物联网设备、社交...
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
基于java的网吧管理系统答辩PPT.pptx
基于java的基于SSM架构的网上书城系统答辩PPT.pptx
tornado-6.1-cp37-cp37m-win32.whl
c语言气泡排序、插入排序、选择排序、快速排序、希尔排序、堆排序、合并排序_SortAlgorithm.zip
Keyboard Maestro 11.0.3_macwk.dmg
基于微信小程序的鲜花销售微信小程序答辩PPT.pptx
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
tornado-6.2b1-cp39-cp39-musllinux_1_1_x86_64.whl
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
tornado-6.1b2-cp38-cp38-manylinux2014_aarch64.whl
基于java的土家风景文化管理平台答辩PPT.pptx
jira安装包
基于java的机场网上订票系统答辩PPT.pptx
小区物业管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
yolo算法-金属-纸张-硬纸板垃圾数据集-13409张图像带标签-金属-纸张-硬纸板-塑料-其他-烟蒂-食物-玻璃.zip;yolo算法-金属-纸张-硬纸板垃圾数据集-13409张图像带标签-金属-纸张-硬纸板-塑料-其他-烟蒂-食物-玻璃.zip;yolo算法-金属-纸张-硬纸板垃圾数据集-13409张图像带标签-金属-纸张-硬纸板-塑料-其他-烟蒂-食物-玻璃.zip
项目介绍: 系统模块主要包括;用户、考试信息、考场信息、试卷、试题、考试等管理功能 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse