0%

核心方法

目前 nacos-coredn 插件与 nacos 服务端通信的API在 nacos2.x 版本被移除了。请教了导师后发现可以利用目前nacos-go-sdk中实现的nacos client和server通信,从nacos client获取数据转成对应的数据结构就可以,不需要api来进行数据传输。因此项目方案是参考Nacos-go-sdk与Nacos服务器的通信方式,在Nacos-coredns-plugin内导入Nacos-sdk-go相关功能,封装成新的grpc通信模块,实现与与Nacos服务器的通信。例如,通过nacos-go-sdk来调用GetAllServicesInfo、GetService等方法,就能获取所有服务或某个具体服务的信息(ip、port…),这些数据看可以覆盖旧api获取的数据,因此只需要对从nacos client获取数据转成对应coredns插件需要的数据结构即可。

Read more »

工作进展

目前完成了nacos环境的搭建(vmware-ubuntu20.0.4 、nacos-docker v2.1.0 (mysql8.0.18)、 nacos-coredns-plugin v1.6.7)

使用nacos-go-sdkv2.0搭建的go客户端,可以跟nacos v2.1.0服务器进行grpc连接。 然后在测试nacos-coredns插件与nacos服务器连接的时候返回空结果,发现 nacos-coredns 与 nacos 服务端通信的 api(/nacos/v1/ns/api/allDomNames、/nacos/v1/ns/api/srvIPXT)在 nacos2.x 版本被移除了。

请教了老师后发现这些都是很老的接口,v2里被下掉了。同时在导师提醒后,发现可以利用目前go-sdk中实现的nacos client和server通信,从nacos client获取数据转成对应的数据结构就可以,不需要api来进行数据传输。

Read more »