# zookeeper-practice
**Repository Path**: GeekCoding520/zookeeper-practice
## Basic Information
- **Project Name**: zookeeper-practice
- **Description**: zookeeper原理、架构、使用场景和可视化
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 18
- **Created**: 2021-04-26
- **Last Updated**: 2021-04-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# zookeeper-practice
zookeeper是Apache开源的顶级项目,用于提供一个高性能、高可用,且具有严格的顺序访问控制能力(主要是写操作的严格顺序性)的分布式协调服务。可用于在分布式环境中保证数据的一致性,拥有非常广泛地使用场景。
### 客户端编程
使用zookeeper官方原生的API也能对zookeeper进行增删改查,但是用起来不太方便。比较流行的客户端有zkClient和Curator。本项目演示Curator的使用。包括:
- 对zookeeper节点增删改查
- 对指定节点或子节点的变化进行监听
- master选举
- 分布式锁
- 分布式计数器
### wiki目录
- [架构特点](https://gitee.com/shenzhanwang/zookeeper-practice/wikis/%E6%9E%B6%E6%9E%84%E7%89%B9%E7%82%B9?sort_id=1320864)
- [核心概念](https://gitee.com/shenzhanwang/zookeeper-practice/wikis/%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5?sort_id=1320868)
- [一致性算法](https://gitee.com/shenzhanwang/zookeeper-practice/wikis/%E4%B8%80%E8%87%B4%E6%80%A7%E7%AE%97%E6%B3%95?sort_id=1320871)
- [集群搭建](https://gitee.com/shenzhanwang/zookeeper-practice/wikis/%E9%9B%86%E7%BE%A4%E6%90%AD%E5%BB%BA?sort_id=1320872)
- [写入数据的流程](https://gitee.com/shenzhanwang/zookeeper-practice/wikis/%E5%86%99%E5%85%A5%E6%95%B0%E6%8D%AE%E7%9A%84%E6%B5%81%E7%A8%8B?sort_id=1320873)
- [使用场景](https://gitee.com/shenzhanwang/zookeeper-practice/wikis/%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF?sort_id=1320875)
- [应用举例](https://gitee.com/shenzhanwang/zookeeper-practice/wikis/%E5%BA%94%E7%94%A8%E4%B8%BE%E4%BE%8B?sort_id=1320876)
- [可视化](https://gitee.com/shenzhanwang/zookeeper-practice/wikis/%E5%8F%AF%E8%A7%86%E5%8C%96?sort_id=1320877)
### 效果图

### 附录:中央技术储备仓库(Central Technique Reserve Repository)
#### 基础篇:职业化,从做好OA系统开始
1. [Spring boot整合Mybatis实现增删改查(支持多数据源)](https://gitee.com/shenzhanwang/SSM)
2. [Struts2,Hibernate,Spring三大框架的整合实现增删改查](https://gitee.com/shenzhanwang/S2SH)
3. [Spring,SpringMVC和Hibernate的整合实现增删改查](https://gitee.com/shenzhanwang/SSH)
4. [Spring boot整合activiti工作流引擎实现OA开发](https://gitee.com/shenzhanwang/Spring-activiti)
5. [Spring发布与调用REST风格的WebService](https://gitee.com/shenzhanwang/Spring-REST)
6. [Spring boot整合Axis调用SOAP风格的web服务](https://gitee.com/shenzhanwang/Spring-axis)
7. [Spring boot整合Apache Shiro实现RBAC权限控制](https://gitee.com/shenzhanwang/Spring-shiro)
8. [使用Spring security实现RBAC权限控制](https://gitee.com/shenzhanwang/spring-security-demo)
9. [Spring整合Jasig CAS框架实现单点登录](https://gitee.com/shenzhanwang/Spring-cas-sso)
#### 中级篇:中间件的各种姿势
10. [Spring boot整合mongoDB文档数据库实现增删改查](https://gitee.com/shenzhanwang/Spring-mongoDB)
11. [Spring连接Redis实现缓存](https://gitee.com/shenzhanwang/Spring-redis)
12. [Spring连接图存数据库Neo4j实现增删改查](https://gitee.com/shenzhanwang/Spring-neo4j)
13. Spring boot整合列存数据库hbase实现增删改查
14. [Spring平台整合消息队列ActiveMQ实现发布订阅、生产者消费者模型(JMS)](https://gitee.com/shenzhanwang/Spring-activeMQ)
15. [Spring boot整合消息队列RabbitMQ实现四种消息模式(AMQP)](https://gitee.com/shenzhanwang/Spring-rabbitMQ)
16. Spring boot整合kafka 2.1.0实现大数据消息管道
17. [Spring boot整合websocket实现即时通讯](https://gitee.com/shenzhanwang/Spring-websocket)
18. [Spring security整合oauth2实现token认证](https://gitee.com/shenzhanwang/Spring-security-oauth2)
19. [Spring MVC整合FastDFS客户端实现文件上传](https://gitee.com/shenzhanwang/Spring-fastdfs)
20. 23种设计模式,源码、注释、使用场景
21. [使用ETL工具Kettle的实例](https://gitee.com/shenzhanwang/Kettle-demo)
22. Git指南和分支管理策略
23. 使用数据仓库进行OLAP数据分析(Mysql+Kettle+Zeppelin)
#### 高级篇:架构之美
24. [zookeeper原理、架构、使用场景和可视化](https://gitee.com/shenzhanwang/zookeeper-practice)
25. Spring boot整合Apache dubbo v2.7.5实现分布式服务治理(SOA架构) 
> 包含组件Spring boot v2.2.2+Dubbo v2.7.5+Nacos v1.1.1
效果图
26. 使用Spring Cloud Alibaba v2.1.0实现微服务架构(MSA架构)
> 包含组件Nacos+Feign+Gateway+Ribbon+Sentinel+Zipkin
效果图
27. 使用jenkins+centos+git+maven搭建持续集成环境自动化部署分布式服务
28. 使用docker+compose+jenkins+gitlab+spring cloud实现微服务的编排、持续集成和动态扩容
29. 使用FastDFS搭建分布式文件系统(高可用、负载均衡)
30. 搭建高可用nginx集群和Tomcat负载均衡
31. 使用mycat实现Mysql数据库的主从复制、读写分离、分表分库、负载均衡和高可用
32. [Spring boot整合Elastic search实现全文检索和大数据分析](https://gitee.com/shenzhanwang/Spring-elastic_search) 
#### 特别篇:分布式事务和并发控制
33. 基于可靠消息最终一致性实现分布式事务(activeMQ)
34. Spring boot dubbo整合seata实现分布式事务
> 包含组件nacos v1.1.0 + seata v0.7.1 +spring boot dubbo v2.7.5
效果图
35. Spring cloud alibaba v2.1.0整合seata实现分布式事务 
> 包含组件nacos v1.1.0 + seata v0.7.1 +spring cloud alibaba v2.1.0
效果图
36. 并发控制:数据库锁机制和事务隔离级别的实现
37. 并发控制:使用redis实现分布式锁 
38. 并发控制:使用zookeeper实现分布式锁
39. 并发控制:Java多线程编程实例
40. 并发控制:使用netty实现高性能NIO通信
### 视频教程

在线观看(含源码和PPT)