V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  heqingpan  ›  全部回复第 1 页 / 共 4 页
回复总数  76
1  2  3  4  
@gitxuzan 感谢支持,过程有什么问题或建议可以找我或者到 github 提 issue 。
哈哈,原因就这么被找到了😎
推荐 r-nacos (原名 rnacos),用 rust 重新实现的 nacos 配置注册服务。

特点:
* 自带 web 控制台管理,有登陆校验,支持暴露到外网使用。
* 运行占用内存小,接近 5 千个配置,450 个服务实例,服务使用的内存在 15M 左右。
* 应用文件小,应用 20M ,docker 30M 。
* 支持 http 协议(nacos open api)访问,同时 nacos 生态不同语言的 sdk 都支持。
* 高性能,配置写入 1.7 万 tps ,配置查询 8 万+qps 。
* 部署简单,不依赖外部数据库,启动应用即可使用。
我个主要当做网盘用于备份照片和文件。

其它的都是一时兴起的折腾,用电脑玩玩就好。
145 天前
回复了 panlatent 创建的主题 分享创造 来推荐推荐自己的开源项目和经验吧
[r-nacos]( https://github.com/nacos-group/r-nacos) 一个基于 rust 重新实现的 nacos 配置注册服务。(star: 692, docker 下载量: 25k+)

相较于 java nacos server 来说,是一个提供相同功能,启动更快、占用系统资源更小(接入接近 5 千个配置,450 个服务实例,服务使用的内存在 15M 左右)、性能更高、运行更稳定的服务。

其设计上完全兼容最新版本 nacos 面向 client sdk 的协议支持使用 nacos 服务的应用不用修改代码直接平迁到 r-nacos 。

经验:
1. 用 rust 重写原 java 写的常用中间件,一般占用系统资源更小、性能更高;完成度比较高的话还是有很多人愿意使用。
2. 作者最好也是开源项目的用户,最开始当做满足自己的需求。当你能比较好的满足自己的需求,也会同时满足同类场景的用户。
3. 项目的第一版核心功能基本需要自己独立开发,要做好心理准备。
csdn 页面乱七八糟,个人是坚决不用。
167 天前
回复了 kerb15 创建的主题 程序员 公网部署 Nacos 被入侵了...
@kerb15 如果只是通过公网下发配置,那换 r-nacos 应该能满足你的场景。

部署 r-nacos 后只暴露独立的控制台网络端口到外网,用于下发配置。
sdk 网络端口只给内网应用使用,不要对外网暴露保证安全。
167 天前
回复了 kerb15 创建的主题 程序员 公网部署 Nacos 被入侵了...
OP 暴露 nacos 到外网的目的是什么?

如果只是想用控制台做运维,可以试试用 r-nacos (用 rust 重新实现的兼容服务)。

r-nacos 的控制台支持对外网暴露。
控制台使用独立端口号,然后对这个端口号所有请求加上登录与鉴权验证。
控制台登陆接口内置错误频次限制与验证码,避免对账户的暴力遍历破解。
@Felldeadbird
除非没人用,不然都忙。

成品前忙开发,成品后忙写文档、推广给潜在用户。
亲身实践过,如果不依赖三方库从 0 开始写,一般 AP 会比 CP 简单些。

不过 CP raft 一般都有库(与业务无关的基础部分),而 AP 没有( AP 一般和业务相关较大,没有通用库)。

CP 基于库做二次开发与 AP 从 0 开发相比,工作量会差不多。(和具体业务有关)

我之前在写 r-nacos (用 rust 重新实现 nacos )时,有分别用 CP(基于 raft 库)实现配置中心,用 AP (从 0 开发)实现注册中心。
它们两块整体工作量上感觉差不多。

附上去年在本站发的相关帖子: https://v2ex.com/t/974680
@pckillers
我上面说的动态感知配置变更,是通过配置中心 client 监听配置中心内容实现的,是不是监听本地配置文件。

k8s 就算能更新 pod 的配置文件,如果想不重启更新配置,还应要应用主动监听配置文件内容是否有变化。(相当于自己实现动态配置功能)

通过动态配置做切流、回滚等流程控制很好用。

没有动态变更配置的能力,可能不会想去写这类控制代码;但系统支持这个能力,在写新的高风险链路逻辑时一般都会加上,在遇到问题能快速回切止损。

当你用上一次避免问题扩大代之后,你应该就不愿意放弃它。
@pckillers
k8s 的 configmap 很难完全替代配置中心。

部分场景有依赖配置中心的运行时动态变更配置能力,k8s 通过重启方式重新加载配置是不太能接受的。

比如我们新写一个新的处理流程,支持出问题时通过配置控制是回切到老逻辑。
如果通过配置中心,可以在 1 秒内把几十个实例秒级回退到老逻辑。
如果走 k8s 的分批重启加载新配置,回切时长达不到这效果。

类似的场景还有临时动态调整处理线程池数量等。
nacos 也可以考虑换成轻量级 r-nacos (用 rust 重写的 nacos ,协议完成兼容),这样就可以和 apisix 配套使用。
哪个页面,是指登陆页面吗?
@aa51513
@RainCats
欢迎试用,过程遇到问题可以反馈或提 issue
@Heroininu
@chenset
@NeedI09in
感谢支持与反馈😁
@cnzjl
@xxfye

对比下来,用 rust 重写原 java 写的中间件,确实收益不错😁
@huzhizhao 感谢支持与反馈
@monkeydream
@someonedeng

资源占用低是 r-nacos 最大的优点之一😁
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2796 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 13:41 · PVG 21:41 · LAX 05:41 · JFK 08:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.