breeze
2017-02-17 09:11:47 1 举报
agent设计
作者其他创作
大纲/内容
重启进程
zk节点:/breeze/agent/update/version {\"v\":\"0.1.2\
启动轮询goroutine,定期对version节点和config节点进行检查,跟本地对比,解决zkwatch丢失问题
阻塞,等待所有goroutine退出
创建inotify实例,循环添加配置项中的文件,设置回调func_B
创建node永久节点,并赋值为/breeze/agent/base_config的值,添加watcher,回调func_A
否(初次安装启动)
是(无需升级)
go-update替换二进制文件
download
根据所在机房就近选择zk集群,连接
主流程 开始
是
获取最新版本号n_v,当前版本号c_v
node是否存在
(tcp连接、opads项目)
添加对/breeze/agent/update/version的watcher,回调func_C
kafka
c_v = n_v
结束
api
data_reporter
zookeeper1..n
other collector
agent
否
error report
update
获取节点值,本地保存
向api发起http请求,下载l_v版本的可执行文件
inotify collector
获取/breeze/agent/config/$ip节点node
创建临时节点breeze/agent/active/$ip,设置节点值(把自己设置为在线)
0 条评论
下一页
为你推荐
查看更多
抱歉,暂无相关内容