Comments (10)
查询服务监听列表,可以把rnacos naming中注册的监听信息按条件取出,提供一个接口给控制台页面查询即可。
控制台页面接口不要求和nacos兼容。
好的,这个跟我理解的是一致的。
差点以为是,config subscriber 那部分内容了,看了点 nacos 源码,真复杂。。
前端我也可以弄,vue3 是吧,刚好练练手了,vue2/3 差距还蛮大的。
from r-nacos.
理解错误,感觉是一个大坑。。nacos 本身提供的功能都有点看不太明白。😥
from r-nacos.
rnacos和nacos功能api是兼容的,不过实现上还是有些差别。
查询服务监听列表,可以把rnacos naming中注册的监听信息按条件取出,提供一个接口给控制台页面查询即可。
控制台页面接口不要求和nacos兼容。
from r-nacos.
接口完成后,我再抽空写对应控制台的前端页面。
如果前端页面你想要写也是可以的。
from r-nacos.
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.
我想最终确认一下,需要实现的是【订阅者列表】这块的功能吧。
这个任务项放在了配置管理的下面,总让我以为是和配置相关的。。。
from r-nacos.
配置管理、服务管理下面都有一个监听或订阅列表。
可以先选实现一个,另个实现逻辑应该是类似的。
from r-nacos.
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.
- 监听查询的理解基本没问题。有时候看自己很久之前写的代码也需要花点时间,看别人写的代码多花些时间也是比较正常的 : )
- http长链接监听的机制:一次请求只收一次响应,每个请求有一个超时时间(30秒),在超时前如果监听的配置有变化,提前返回变化key信息。之后客户端再发一个新的长链接继续监听,循环上面的流程。
- 错误的api和请求信息可以提供一下,我们一起看看。
- 晚上给你加web项目权限。
from r-nacos.
0.3.x版本支持集群后,原查询服务监听列表的功能可能需要重新适配集群数据。
这个 issue 先关闭。
from r-nacos.
Related Issues (20)
- 强烈建议把控制台配置编辑器换成MonacoEditor这个CodeMirror实在是一言难尽 HOT 5
- 界面404 HOT 9
- 0.5.8添加配置会直接添加到public内 HOT 3
- 你好, 不支持/nacos/v1/auth/users/login这个接口吗 HOT 25
- 建议创建命名空间时自动创建命名空间ID HOT 1
- 运行中的应用从nacos切换rnacos时服务列表为空 HOT 5
- rnacos启动后偶尔出现配置列表为空 HOT 8
- go的客户端SDK注册json配置项界面显示的配置类型为text HOT 2
- 重启可能会导致数据丢失假象 HOT 7
- 大佬有预留持久化的接口吗?或者添加插件类似的东西 HOT 4
- 大佬,支持切换nacos的UI界面吗?后期考不考虑灰度发布? HOT 4
- 命名空间相关问题 HOT 3
- 支持开启集群间的通信请求校验cluster token HOT 1
- 疑似资源不释放, 导致内存只涨不降 HOT 38
- 历史记录拿到的都是当前的值 HOT 4
- raft实现替换提案 HOT 7
- grpc ConfigBatchListenRequest unknown user HOT 1
- grpc连接token过期后直接崩坏 HOT 9
- 支持go sdk中使用SearchConfig查询接口 HOT 1
- 与java 版本接口行为不一致 HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from r-nacos.