任务
zookeeper 同步数据体验下
zookeeper 同步策略
昨天在使用 zookeeper 的同步策略时,在网关打开了 zookeeper 的依赖,而且配置了 zookeeper 的依赖,发现利用 divide 插件测试 http 分发时,请求时显示如下的错误信息。
1 | {"code":-106,"message":"Can not find url, please check your configuration!","data":null} |
检查 admin 的配置发现,在 soul 的同步策略处没有改好配置,配置改为如下。改完后,重新启动 admin,利用 ZooInspector 查看 zookeeper 的注册情况,此时发现 divide 插件的 selector ,rule 已经注册进去了。
1 | soul: |

再次发起 http 请求,请求成功:

此时,将 admin 服务停止,发现网关和 http example 的日志均没有监听到任务输出, zookeeper 也没有任何的改变。此时发起 http 请求,请求仍然可以成功。因此,admin 在这里的作用,是将数据同步到 zookeeper,而不像 websocket 一样,同时还要保证网关与业务服务建立连接。
在 admin 中,改变请求的规则,在 /http/test/* 添加规则 /http/test/path/* ,可以发现 zookeeper 监听到了改变,对规则做出了修改。此时请求/http/test/path/666,请求成功。


1 | {"userId":"555","userName":"hello world"} |