栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python etcd-0.4.5安装使用踩坑记录

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python etcd-0.4.5安装使用踩坑记录

1、如何实现在内网的任意终端连接、监听本地server(使用etcdctl、curl命令时可以抓包)?

答:在本地段的配置文件/etc/etcd/etcd.conf修改字段ETCD_LISTEN_CLIENT_URLS、ETCD_ADVERTISE_CLIENT_URLS为"http://ip:port"的形式,多个采用逗号分开。保存后还需要重启服务:

systemctl restart etcd

在其他终端采用如下命令可以实现get、set、watch、update等操作(分开的初衷是为了抓包观察交互过程,不修改配置文件、在本地终端的话可以省略--endpoints参数,默认是localhost,127.0.0.1:2379)

etcdctl --endpoints http://xx.xx.xx.xx:2379 get /keys/example

2、调用watch函数,已经使用了wait=True,为何不能实现持续的阻塞和监听?

答:该python包的watch实现还是通过调用read函数发送请求,应当在参数里面加上timeout=0,才会持续阻塞。etcdctl和curl来监听时,可以实现持续监听,用wireshark抓包发现,client和server的交互会每隔30s向对方发送tcp探活包([tcp keep-alive]),当我们自己调用函数watch时,需要加上timeout=0参数才能实现持续发送tcp探活包(抓包发现这时只有server发送,client并不会发送,没搞太清楚,但是能够保持持续监听了!!)。

以上个人经验记录,仅供参考。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674626.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号