http://hi.baidu.com/eldersun/item/b9266e019da769f0f45ba6a4

python下连接zookeeper使用最多的是python 包装的zookeeper 的c客户端,但是使用c客户端来访问zookeeper不是很方便,特别是如果你有代码洁癖,肯定不能容忍这种情况,那么有没有纯python的实现方式呢,答案是肯定的,kazoo就是比较好的实现方案,而且发展很迅速,目前已经比较成熟。

相比其它的zookeeper 的客户端 API相比,包括java的客户端API,kazoo提供了许多更为高层的接口。

zookeeper支持事件编程是非常常见的场景,常用的几个方法示例:

场景一:

#官方文档说如果使用锁对象(lock)的话,最好要监控zk client的连接状态,防止执行过程中锁的丢失。

#侦听zk的连接状态,如果失去链接,需要进行处理,如锁可能已经丢失,需要放弃本地的leader角色
from kazoo.client import KazooState
def my_listener(state):
    if state == KazooState.LOST:
        # Register somewhere that the session was lost
    elif state == KazooState.SUSPENDED
        # Handle being disconnected from Zookeeper
    else:
        # Handle being connected/reconnected to Zookeeper

zk.add_listener(my_listener)

场景二:
#获取变化,当成控制信号
@zk.DataWatch("/my/favorite")
def watch_node(data, stat):
    print("Version: %s, data: %s" % (stat.version, data.decode("utf-8")))

转载于:https://www.cnblogs.com/DjangoBlog/p/3803537.html

python中使用kazoo连接zookeeper(一)相关推荐

  1. python系列之:kazoo连接Zookeeper操作Zookeeper

    python系列之:kazoo连接Zookeeper操作Zookeeper 一.连接zookeeper 二.读取zookeeper节点 三.读取zookeeper内容 四.kazoo连接Zookeep ...

  2. 使用python中py2neo包连接neo4j(安装,连接,成功解决)

    使用python中py2neo包连接neo4j neo4j下载 JDK下载 neo4j官网下载 检查安装是否成功 py2neo安装 命令行安装 测试安装是否成功 最近在研究有关知识图谱的任务,选择用图 ...

  3. 使用kazoo连接zookeeper并监听节点数量以及值变化

      目前kazoo是连接zk的最新第三方库,最新更新时间为2019年1月,其他第三方连接zk的库都长时间未更新,所以推荐使用kazoo.前面有几篇文章都已经详细给出了zk的部署,接下来是zk最核心的地 ...

  4. [转]python 中的字符串连接

    python 中可使用 + 进行字符串的连接操作 但很多文档里都说,python 使用 + 进行字符串连接的效率低下 这直接导致本人在代码中不敢使用 + 进行字符串的连接操作 可事实又是怎样呢? 之所 ...

  5. 初学者都在坑里!不要在Python中使用“+”来连接字符串

    很多初学者都像我一样,最开始使用Python时,会不自觉地使用"+"来连接字符串,就像在许多其他编程语言(比如Java)中那样,因为这样既直观又容易. 很多人学习python,不知 ...

  6. Python 中,字符串连接效率最高的方式是?一定出乎你的意料

    网上很多文章人云亦云,字符串连接应该使用「join」方法而不要用「+」操作.说前者效率更高,它以更少的代价创建新字符串,如果用「+」连接多个字符串,每连接一次,就要为字符串分配一次内存,效率显得有点低 ...

  7. Python中字符串的连接

    题目要求: names = ['fentiao','fendai','fensi','fenpi'] 输出:I have fentiao, fendai, fensi and fenpi. 代码块: ...

  8. python中如何连接两个字符串_python中5种连接字符串的方法

    字符串是Python中常用的数据类型,在开发过程中可以对字符创进行截取并与其他字符创进行连接.本文为大家介绍了5种连接字符串的方法. 1.加号 如果有其他编程语言开发经验的人,肯定知道很多语言里面是用 ...

  9. python 有没有禁用网络的方法_如何在Python Cod中禁用网络连接

    是否可以在Windows7中禁用和启用Python中的网络连接?我在这里看到一个关于这个的问题:How to programmatically enable/disable network inter ...

最新文章

  1. 如何优雅地退出python程序
  2. 1-2 小程序适合做什么样的应用
  3. 基于SQLite+EF6实现一套自己的Key-Value存储管理工具包(1)
  4. 形象的解释神经网络激活函数的作用是什么
  5. 如何使用JSON和Servlet创建JQuery DataTable
  6. monthdiff oracle_Oracle计算时间差函数
  7. 改进初学者的PID-正反作用
  8. 2018年1月3日-江苏地税系统无法正常登陆的解决方案
  9. c语言快捷键的使用方法,电脑快捷键的使用方法
  10. 听课记录范文计算机基础,【教师听课记录范文】_听课记录范文三篇
  11. android binder - 客户端(c++层) 调用 服务端(java层),服务端回调客户端 例子
  12. untiy游戏接入之uc_sdk(九游)
  13. PostgreSQL回归测试工具regress使用
  14. 我与无人机的2020上半年
  15. python opencv resize函数_OpenCV尺寸调整函数resize
  16. 大治一中2021年高考成绩查询,2021年大冶市高考状元名单资料,今年大冶市高考状元多少分...
  17. 如何清零爱普生调整程序和重置工具– L365,L360,L310,L220,L130
  18. STM32——定时器中断实验
  19. Java房地产销售管理系统_JAVA JSP房地产销售系统 源代码 论文
  20. Java 获取一个月的总天数

热门文章

  1. HTTPS 原理详解
  2. engnix php 插件 管理_nginx配置支持php-fpm
  3. 涉密计算机格式化维修,涉密计算机的涉密信息被删除或格式化后,通过一定的技术手段仍可以复原,连接互联网易造成泄密。()...
  4. 组合模式 桥接模式 java_java设计模式5.组合模式、门面模式、享元模式、桥接模式...
  5. 华中科技大学计算机卓越计划,计算机卓越计划实验班培养计划.doc
  6. 【Mybatis】resultMap继承
  7. 基于360搜图爬取图片
  8. 系统通知并发问题_玩转Java高并发?请先说明下并发下的惊群效应
  9. 学而思的python课怎么样_有在用学而思网校的同学觉得孙墨漪老师怎么样?报她的课值得吗?...
  10. easyui 动态设置单元格控件_比Excel还简单,实现动态报表原来只需要十分钟!