zookeeper
文章平均质量分 79
zookeeper
quge_name_harder
指尖 拥有改变世界的力量
展开
-
zookeeper(7)—— zk实现分布式锁
需要锁的原因:多任务去抢一个资源 多任务都需要对资源进行写操作 多任务对资源的访问是互斥的1、不使用锁在多线程的情况下会出现什么情况定义一个生成订单ID类,也就是多任务去争抢的资源public class OrderNumGenerator { //全局订单id public static int count = 0; //生成订单ID public String getNumber() { SimpleDateFormat simp原创 2022-02-15 13:00:46 · 2457 阅读 · 0 评论 -
zookeeper(6)—— zk服务端集群源码
服务端集群源码,同样从QuorumPeerMain的main方法入手 public static void main(String[] args) { QuorumPeerMain main = new QuorumPeerMain(); try { main.initializeAndRun(args); } catch (IllegalArgumentException e) {81 main.initializeA原创 2022-02-14 13:00:32 · 1059 阅读 · 0 评论 -
zookeeper(5)—— zk服务端单机源码
我们在win下启动是从D:\tools\zookeeper\zookeeper-3.4.14\bin下的zkServer.cmd,打开这个脚本,可以看到其实就是运行org.apache.zookeeper.server.quorum.QuorumPeerMain这个类,先看这个类的main方法81 main.initializeAndRun(args);=>114 runFromConfig(config); //如果配置了集群,解析集群相关信息=>119 ZooKeeperServ原创 2021-06-04 14:04:55 · 178 阅读 · 0 评论 -
zookeeper(4)—— zk客户端源码
以zk原生客户端为例:我们在win下启动是从D:\tools\zookeeper\zookeeper-3.4.14\bin下的zkCli.cmd打开这个脚本,可以看到其实就是运行org.apache.zookeeper.ZooKeeperMain这个类一、看下ZooKeeperMain类的main方法先概况的说下这个方法执行时做了哪些事情,再看它是如何做的1、创建了一个NIO的socket连接(不然怎么连接服务端)2、创建了sendThread 线程并启动(看名字就知道,这个线程原创 2021-06-03 14:00:15 · 483 阅读 · 2 评论 -
zookeeper(3)—— zk客户端的使用
zk目前有三种客户端:原生客户端、zkClient、Curator先使用原生客户端了解一下基本操作:1、创建连接及关闭连接2、创建节点3、读取指定节点的内容4、更新节点内容5、删除指定节点//客户端的基本操作public class TestJavaApi implements Watcher{ private static final int SESSION_TIMEOUT = 10000; private static final String CONNECTI原创 2021-05-25 13:41:00 · 1394 阅读 · 0 评论 -
zookeeper(2)—— 了解Zookeeper
一、下载下载Zookeeper,我的版本是zookeeper-3.4.14链接:https://pan.baidu.com/s/1FKGOQWyiVzqhTzcN47QkPQ提取码:1234解压到自己的硬盘下,比如二、目录结构bin 存放系统脚本(该目录下的zkServer.cmd是win下服务器启动脚本,默认端口2181,zkCli.cmd是客户端的启动脚本)conf 存放配置文件contrib ...原创 2021-05-11 13:55:52 · 207 阅读 · 0 评论 -
zookeeper(1)—— 分布式系统简介
1.1 什么是分布式系统?在传统项目中,通常是将一个项目打成war包,部署在tomcat中运行。当项目越来越大时,这种方式就不太适用了。此时,会将项目分解成不同的服务,这些服务部署在不同的计算机上,彼此之间通过网络相互协调工作。总之,一个硬件或软件组织分布在不同的网络计算机上,彼此之间通过消息传递进行通信和协调的系统即为分布式系统。1.2 分布式系统特点分布性:整个项目架构在空间上是任意的。对等性:分布式系统架构中,每一个微服务都可能出现问题,这时就需要两个或以上完全相同的微服务,在一.原创 2021-04-21 08:01:29 · 138 阅读 · 0 评论