摘要: 一、主要需要解决的问题 1、加锁 创建临时带有顺序的节点,如果是第一个则,获取锁成功 2、解锁 删除自己创建的临时节点 3、死锁问题 临时节点,如果客户端down机了,则节点监听自动删除 4、锁等待与唤醒 每个等待的线程等待上一个节点删除,一旦删除,则自己被唤醒去获取锁 使用模板设计模式进行处理 二 阅读全文
posted @ 2020-12-17 16:52 码来 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 一、基本介绍 1 、PERSISTENT (0, false, false), 持久节点:节点创建后,会一直存在,不会因客户端会话失效而删除; 2、PERSISTENT_SEQUENTIAL (2, false, true), 持久顺序节点:基本特性与持久节点一致,创建节点的过程中,zookeepe 阅读全文
posted @ 2020-12-17 16:50 码来 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: 一、 安装单节点 原则:数据目录,配置文件,日志目录需要挂载到宿主机上 创建目录存放挂在配置文件、日志、数据的目录 /root/zookeeper/zk1/conf /root/zookeeper/zk1/data /root/zookeeper/zk1/log 2. 添加配置文件 clientPo 阅读全文
posted @ 2020-12-17 16:01 码来 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 一、官网地址 https://github.com/redisson/redisson/wiki 二、整合配置 redisson 有些版本配置可能出现bug,开始用的3.13.6版本,哨兵配置一直报错 redisson 有些版本配置可能出现bug,开始用的3.13.6版本,哨兵配置一直报错 <dep 阅读全文
posted @ 2020-12-17 15:59 码来 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 主要测试下容器的主从如何搭建,主要使用一台虚拟机,部署三个容器,构成主从结构 一、部署的结构: 主:172.17.0.2 6379->6379 从1:映射端口 6380 -> 6379 从2:映射端口 6381 -> 6379 二、拉取Redis容器镜像 docker pull redis 三、下载 阅读全文
posted @ 2020-12-17 14:54 码来 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 一、分布式锁使用场景 单机系统的时候,当处理临界资源的时候需要使用synchronized来锁住资源,以免并发导致临界资源异常。 在分布式系统中,使用单机的锁已经不能控制临界资源了,这个时候就需要跨系统来控制临界资源,那控制的标识位放到哪里呢?可以是缓存redis,也可以是ZK。 直白的将,单机需要 阅读全文
posted @ 2020-12-17 14:47 码来 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 一、为什么使用Lua脚本 为了一次通信执行多个Redis命令,我们可以用pipline ,但是多个命令间没有逻辑联系 。 Lua脚本可以一次通信执行多个Redis命令,而且内部可以写自己的逻辑,整个脚本执行是原子性的。 二、命令行调用Lua脚本 EVAL script numkeys key [ke 阅读全文
posted @ 2020-12-17 14:44 码来 阅读(1683) 评论(0) 推荐(0) 编辑
摘要: 一、创建mysql主从服务器容器 docker run -it docker run -it --name mysql_slave5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7 docker run -it docker run -i 阅读全文
posted @ 2020-10-29 16:24 码来 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 容器安装及使用: 1. 操作系统64位,Centos的内核版本3.1及以上 ,查看内核版本: uname -r2. yum 更新:sudo yum update3. 安装需要的软件包:yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖 > - 阅读全文
posted @ 2020-10-29 16:19 码来 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 一、计算初始容量 1)源代码 tableSizeFor(initialCapacity + (initialCapacity >>> 1) + 1) //计算c最近的2的N次方的值,作为初始容量 private static final int tableSizeFor(int c) { int n 阅读全文
posted @ 2020-10-29 16:17 码来 阅读(158) 评论(0) 推荐(0) 编辑