向kazoo python注册服务并用于服务发现

时间:2019-06-16 16:07:36

标签: python apache-zookeeper kazoo

我正在尝试注册某些服务,并使用 Apache Zookeeper 将其用作服务发现,并使用 Kazoo 库在python中实现它。很难弄清楚如何触发Zookeeper的API调用并将HTTP请求重定向到所需的API

假设我在本地主机上运行一个基本网站,并且我想使用kazoo将一些API注册到zookeeper中,并在需要时访问它们

我网站的某些路线是:

127.0.0.1:8000/注册

127.0.0.1:8000/登录

127.0.0.1:8000/login/auth

127.0.0.1:8000/home

127.0.0.1:8000/jasmine/Oauth/run

import logging
import time
from kazoo.client import KazooClient
from kazoo.client import KazooState

zk = KazooClient(hosts='127.0.0.1:2181')
zk.start()

zk.ensure_path("127.0.0.1:8000/")

if zk.exists("127.0.0.1:8000/"):
    print('found')

data, stat = zk.get("127.0.0.1:8000/")

print("Version: %s, data: %s" % (stat.version, data.decode("utf-8")))

children = zk.get_children("127.0.0.1:8000/")

print("There are %s children with names %s" % (len(children), children))

zk.stop()

我无法注册上述任何服务,还尝试了另一个library“ zc.zk”。这给我一个错误

  

文件   “ /home/root/.local/lib/python3.5/site-packages/zc/zk/init.py”,   259行       打印“未修剪的额外路径:”,cpath

能否请您指出正确的方向,我应该在哪里开始注册服务并获取数据作为回报。并使用我的python脚本作为我的传入请求的协调器

非常感谢您的帮助。预先谢谢你

0 个答案:

没有答案