0%

ospp记录(一) 进展更新

工作进展

目前完成了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来进行数据传输。

例如,通过nacos-client来调用GetAllServicesInfo、GetService等方法,就能获取所有服务或某个具体服务的信息(ip、port…),这些数据看可以覆盖旧api获取的数据,因此只需要对从nacos client获取数据转成对应coredns插件需要的数据结构即可。

目前的方案为:

1、通过在coredns插件中导入nacos-go-sdk/v2包,搭建一个能跟nacos服务器通信的客户端

2、利用sdk里提供的方法从nacos服务器请求数据

3、将从nacos服务器里获取到的数据转成对应coredns插件需要的数据结构