nacos-group / r-nacos

Nacos server re-implemented in Rust.
https://r-nacos.github.io/docs/
Apache License 2.0
840 stars 93 forks source link

尽快支持nacos-config-spring-boot-starter #115

Closed dongfangx closed 3 months ago

dongfangx commented 3 months ago

尽快支持nacos-config-spring-boot-starter, 不然Java用户,怎么使用的起来,那你这个就太小众了;

heqingpan commented 3 months ago

接口与nacos兼容,所以默认就是支持的。

你是使用过程中有报错,还是想找下对应的使用样例?

heqingpan commented 3 months ago

如果你只是想找样例,可以参考 https://github.com/nacos-group/nacos-examples

heqingpan commented 3 months ago

我之前有测试过nacos-config-spring-boot-starter,可以确认是支持的。

如果使用过程有什么问题,可以对比nacos看看,或者提供相应的日志信息发出来看看。

我这两天抽空补个样例好了。

heqingpan commented 3 months ago

@dongfangx 已在sdk-exmaple增加的nacos-config-spring-boot-starter样例,亲测有效。

dongfangx commented 3 months ago

@heqingpan 用你的实例测试,也不行哈,同样的问题, 第二行就报这个提示, [Nacos Config Boot] : The preload configuration is not enabled 访问 curl "http://127.0.0.1:8080/config/get",请求结果为false; 增加这个配置, nacos.config.bootstrap.enable=true 启动报错 'value' must not be null

我的测试服务器: 43.134.174.37:8848

heqingpan commented 3 months ago

@dongfangx

试了一下你上面的服务,应该是网络的原因。

我用上面的样例改成你给服务地址,发现你的r-nacos服务只有8848端口(http协议)可用,9848端口(grpc协议)不可用。 样例中nacos-client对应的版本使用的是grpc协议,所以请求不到对应配置。

  1. 你可以把样例中nacos-config-spring-boot.version的版本号从0.2.12改成旧版本0.2.1以使用http协议,这样就可以正常运行 (我已验证过)
  2. 把9848端口号开启,然后用现有的样例运行,应该也能成功(这个要你自己验证)。

你之前运行demo和r-nacos服务不是在同一台机器吧? 你也可以把样例应用和r-nacos服务放到同一台机器用127.0.0.1访问验证,这样避免网络上的问题干扰,应该也能正常运行。

dongfangx commented 3 months ago

@heqingpan 开放了9848端口后,测试demo,访问 curl "http://127.0.0.1:8080/config/get",请求结果为false 可以了; 但是启动的时候,数据url找不到, 有这个提示,SpringApplication - No active profile set, falling back to 1 default profile: "default"

heqingpan commented 3 months ago

只要修改配置内容,查询出的值也随之变化,就说明配置生效。

至于使用默认profile这个,对nacos 和r-nacos中的配置要求是一样的,这里就不展开了。

dongfangx commented 3 months ago

@heqingpan 启动配置文件,如数据库url这些,不能放到rnacos中,对于springboot 项目来说,意义不是很大; 你再看看这个问题,我是真想使用rnacos, 把产品线,都用rsut 重构。java太耗内存了,一年10多W服务器费用,受不了;

heqingpan commented 3 months ago

@dongfangx

先确认下,你们之前没有用过nacos吗? 前面的问题,似乎你这边也没有做过r-nacos与nacos的对比,不然grpc端口网络不通的问题应该自己就能发现。

确认下你的问题是指r-nacos与nacos表现不一致吗? 如果是表现不一致,可以把使用nacos与使用r-nacos的差异描述下,最好有日志。然后我再看看。

如果不是r-nacos与nacos表现不一致的问题,那建议你先看看nacos是否支持你的场景,以及怎么使用。(你上面描述的场景,据我所知是支持的) 我这边时间有限,对这类非r-nacos引入问题暂时不好投入过多精力解答,这样能投入更多的精力到r-nacos持续迭代中,希望能理解。

dongfangx commented 3 months ago

@heqingpan java项目一直在使用nacos,我再看看吧,看哪儿配置出了问题; 这种最接近项目的demo,其实可以搞一个,只是hello world,有些时候,发现不了问题; 如:搞一个springboot 的demo, 有连db的,有问题就能及时发现; 我其实在r-nacos上,都花了5,6个小时测试了;

heqingpan commented 3 months ago

demo连db的话,多依赖数据库,demo不能运行r-nacos后直接跑起来,暂时不打算提供。 网上这类有连db的nacos demo应该也不少的,你也可以找找看。

你可以先用r-nacos和nacos对比测试看看,如果有nacos支持然后 r-nacos不支持的场景,那就是r-nacos支持不到位,可以再来找我。

dongfangx commented 3 months ago

@heqingpan 做开源,就不肯走最后一步,也许就几分钟的事情; 然后搞出来的东西,就自嗨,没有落地的场景;

heqingpan commented 3 months ago

@dongfangx

我写开源项目,自己清楚项目支持的范围,在支持范围内的尽量解答。 你上面的问题,不在项目支持范围内(没有提供-nacos和nacos对比信息);就算如此我也花时间解决你的前两个问题,也算仁至义尽了。

我凭兴趣写的开源项目,没有收你的钱,不需要对你负责。 如果你觉得我自嗨,那你可以不用,我们没有必要吵架浪费时间。

dongfangx commented 3 months ago

@heqingpan 格局小了