Code Monkey home page Code Monkey logo

Comments (10)

azusachino avatar azusachino commented on June 5, 2024 1

查询服务监听列表,可以把rnacos naming中注册的监听信息按条件取出,提供一个接口给控制台页面查询即可。
控制台页面接口不要求和nacos兼容。

好的,这个跟我理解的是一致的。
差点以为是,config subscriber 那部分内容了,看了点 nacos 源码,真复杂。。
前端我也可以弄,vue3 是吧,刚好练练手了,vue2/3 差距还蛮大的。

from r-nacos.

azusachino avatar azusachino commented on June 5, 2024

理解错误,感觉是一个大坑。。nacos 本身提供的功能都有点看不太明白。😥

from r-nacos.

heqingpan avatar heqingpan commented on June 5, 2024

rnacos和nacos功能api是兼容的,不过实现上还是有些差别。

查询服务监听列表,可以把rnacos naming中注册的监听信息按条件取出,提供一个接口给控制台页面查询即可。
控制台页面接口不要求和nacos兼容。

from r-nacos.

heqingpan avatar heqingpan commented on June 5, 2024

接口完成后,我再抽空写对应控制台的前端页面。

如果前端页面你想要写也是可以的。

from r-nacos.

heqingpan avatar heqingpan commented on June 5, 2024

config subscriber是配置中心2.x grpc监听信息 (1.x是 http长链接,可以先不支持),nacos 控制台配置管理有一个监听查询,对应的是这一部分信息。

naming subscriber 是注册中心2.x grpc 监听信息 (1.x 是 udp,目前处理关闭状态),nacos 控制台服务管理有个订阅者列表,对应的是这一部分信息。

这两块在 rnacos 中实现比较接近,配置/服务的监听列表信息对应的就是Subscriber::listener.get(key) -> client_id_set (grpc客户端ip:port 集合)。

from r-nacos.

azusachino avatar azusachino commented on June 5, 2024

我想最终确认一下,需要实现的是【订阅者列表】这块的功能吧。
这个任务项放在了配置管理的下面,总让我以为是和配置相关的。。。
image

from r-nacos.

heqingpan avatar heqingpan commented on June 5, 2024
image image

配置管理、服务管理下面都有一个监听或订阅列表。

可以先选实现一个,另个实现逻辑应该是类似的。

from r-nacos.

azusachino avatar azusachino commented on June 5, 2024

Config 这边看了蛮久的代码,没太看明白;刚刚去看了一下架构图,才大概了解 Listener 和 Subscriber 各自的用途。😥,太菜了。
Subscriber::listener 这边存储的就是 订阅了 当前 ConfigKey 的 client_id,也就是类似于 nacos 监听查询时的 IP 信息吧,作为一种标识符。所以,我这边只要把查询功能写成接口提供出来,就可以了吧。
ConfigListener::listner 这边是 http 长连接,timeout 去触发 sender 逻辑,感觉没看明白,这个有什么作用。。。🙃,就是这个逻辑把我困了很久。

actix-web,我没怎么用过,得花时间好好看一下,现在添加了一个 api,请求的时候总是返回 400 content type error,也不知道是怎么回事,调整 content-type 也没有用。🥲
另外,web 项目是不是也开一下 contributor 权限,方便后面提交内容啊。🙏

from r-nacos.

heqingpan avatar heqingpan commented on June 5, 2024
  1. 监听查询的理解基本没问题。有时候看自己很久之前写的代码也需要花点时间,看别人写的代码多花些时间也是比较正常的 : )
  2. http长链接监听的机制:一次请求只收一次响应,每个请求有一个超时时间(30秒),在超时前如果监听的配置有变化,提前返回变化key信息。之后客户端再发一个新的长链接继续监听,循环上面的流程。
  3. 错误的api和请求信息可以提供一下,我们一起看看。
  4. 晚上给你加web项目权限。

from r-nacos.

heqingpan avatar heqingpan commented on June 5, 2024

0.3.x版本支持集群后,原查询服务监听列表的功能可能需要重新适配集群数据。
这个 issue 先关闭。

from r-nacos.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.