首页
学习
活动
专区
工具
TVP
发布

扎心了老铁

专栏作者
89
文章
206825
阅读量
41
订阅数
python codis集群客户端(二) - 基于zookeeper对实例创建与摘除
 在这一篇中我们实现了不通过zk来编写codis集群proxys的api, 如果codis集群暴露zk给你的话,那么就方便了,探活和故障摘除与恢复codis集群都给你搞定了,你只需要监听zookeeper中实例的状态就好了。 下面看我的实现。 1、CodisByZKPool.py 这里通过zk读取并初始化pool_shards,简单说一下如何故障摘除和恢复 1)我们监听zk中节点状态改变,当发现某个实例对应的节点状态变化了,比如DELETE了,那么我们认为这个实例挂了,我们就会重新_create_pool刷
用户1225216
2018-03-05
1.7K2
python codis集群客户端(一) - 基于客户端daemon探活与服务列表维护
在使用codis时候,我们遇到的场景是,公司提供了HA的Proxy(例如N个),但是不暴露zookeeper(也就是说没有codis后端服务列表)。 如果暴露zk的话,可以看这一篇 要求在开发客户端a
用户1225216
2018-03-05
1.5K0
Redis实现分布式锁
之前写过一篇博客,里面吭哧吭哧半天,使用Redis实现了一个分布式锁。 今天闲来没事看源码,突然发现redis set命令的用法可以直接指定nx和ex,文档中没有明说这是个原子方法,但是后面给出了一个例子使用set nx ex的方法实现了redis锁。 感觉应该是原子性的,挺好。 相比这篇文章里的方法,有两个优点: 1)简单,之前的那篇文章里使用getSet方法,折腾了一顿,就是怕setnx之后expire成功不了,这里直接原子性的话,省事多了。 2)解决了超时误删锁引入的竞态问题,之前我们在value中保
用户1225216
2018-03-05
9950
zookeeper curator使用caches实现各种监听
1、篇首语 curator是zookeeper的一个高级api开发包。封装了zookeeper众多的recipes,并且实现了一些新的recipes原语,最重要的是基于zookeeper提供的各种机制实现了更健壮的连接和异常处理。 本文将其中比较常用的一种recipe,就是cache。 2、各种Caches cache是一种缓存机制,可以借助cache实现监听。 简单来说,cache在客户端缓存了znode的各种状态,当感知到zk集群的znode状态变化,会触发event事件,注册的监听器会处理这些事件。是
用户1225216
2018-03-05
2.2K0
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档