目前开发微服务用 nacos 做注册、配置中心的同学多吗? 如果有一个用系统级语言重写,性能更高、占用资源更小的版本有同学愿意试用吗?

2023-09-28 09:22:11 +08:00
 heqingpan

我之前用 rust 重写了 nacos ,开源一段时间,收到的反馈不多。

想确认是用 nacos 的人不多,还是不知道或者知道但没有试用动力的人比较多。


下面附上我重写 nacos 版本简介:

https://github.com/heqingpan/rnacos

rnacos 是一个用 rust 实现的 nacos 服务。

rnacos 包含注册中心、配置中心、web 管理控制台功能,支持单机、集群部署。

rnacos 设计上完全兼容最新版本 nacos 面向 client sdk 的协议(包含 1.x 的 http OpenApi ,和 2.x 的 grpc 协议), 支持使用 nacos 服务的应用平迁到 rnacos 。

rnacos 相较于 java nacos 来说,是一个提供相同功能,启动更快、占用系统资源更小、性能更高、运行更稳定的服务。

性能:

模块 场景 单节点 qps 集群 qps 总结
配置中心 配置写入,单机模式 1.5 万 1.5 万
配置中心 配置写入,集群模式 1.8 千 1.5 千 接入 raft 后没有充分优化,待优化,理论上可接近单机模式
配置中心 配置查询 8 万 n*8 万 集群的查询总 qps 是节点的倍数
注册中心 服务实例注册,http 协议 1.2 万 1.0 万 注册中心单机模式与集群模式写入的性能一致
注册中心 服务实例注册,grpc 协议 1.2 万 1.2 万 grpc 协议压测工具没有支持,目前没有实际压测,理论不会比 http 协议低
注册中心 服务实例心跳,http 协议 1.2 万 1.0 万 心跳是按实例计算和服务实例注册一致共享 qps
注册中心 服务实例心跳,grpc 协议 8 万以上 n*8 万 心跳是按请求链接计算,且不过注册中心处理线程,每个节点只需管理当前节点的心跳,集群总心跳 qps 是节点的倍数
注册中心 查询服务实例 3 万 n*3 万 集群的查询总 qps 是节点的倍数

收到用户反馈信息,会给我更多的动力。

如果试用过程中有问题可以到 github 给我提 issues 。

如果愿意试用或喜欢的同学就到 github rnacos 给个星 。

5900 次点击
所在节点    Java
71 条回复
panzhc
2023-09-28 11:15:13 +08:00
第一反应也是名字不突出,也许可以叫 nacos-rs 。
如果生产用的话,主要考虑的是稳定性。
更换或者升级要考虑兼容性,中小规模下性能不是瓶颈。
pentilun
2023-09-28 11:22:35 +08:00
名字也可以改叫 macos=r+nacos
simpleisbest
2023-09-28 11:27:11 +08:00
@shalk 说得到位,补充点
部署到企业生产环境的组件,一般会选择相对成熟稳定的产品,经历过市场考验的,个人尝试可以,如果企业选择,必然要承担未知的风险,一旦出现问题,造成损失也许不可估量
xingjue
2023-09-28 11:28:15 +08:00
@heqingpan 这都是胡扯 k8s 生态 cncf 那么多生态你咋不说 做个配置中心 还关注啥 gc 啊 要啥自行车 你又不是做高频交易 或者做 c++系统编程 对 gc 敏感
heqingpan
2023-09-28 11:32:58 +08:00
@panzhc 这么多人都觉得名字不好,我改,找到合适的就改😂
cyndihuifei
2023-09-28 11:37:35 +08:00
什么叫云原生应用?
winglight2016
2023-09-28 11:41:29 +08:00
@ZeroDu #23 后台面板没什么用,而且配置修改自己开发可以实现更好的效果。注册中心对于 k8s 的意义是 0 ,跟阿里云也没什么关系呀。


@heqingpan 我们自己用 go 开发了一个配置中心,基于 etcd 存储,也完全够用了
Nazz
2023-09-28 11:44:55 +08:00
这种项目很难推广啊, etcd/consul 已经流行了
wzcloud
2023-09-28 11:49:39 +08:00
中间件, 要达到 Productoin Ready 的程度, 还有不少路要走...

总而言之, UP 加油
Lambdua
2023-09-28 11:49:40 +08:00
@heqingpan 最好别建群,会消耗你大量的精力和时间解决很低等的问题
heqingpan
2023-09-28 12:03:00 +08:00
@lt547670718 听起来你有过经历。
刚想中午建个群就看到你的建议😂
ZeroDu
2023-09-28 12:31:47 +08:00
@winglight2016 #47 可能你是大公司,不了解。在很多小公司,无需自己运维直接上阿里云买 nacos 服务,以及兼容 springgateway 的网关是常态。
而且 nacos 对应的 springcloud 体系大多都是这些,用 k8s 的注册发现的我是没看到,部署倒是有使用。
heqingpan
2023-09-28 13:07:03 +08:00
开始阶段还是建个群比较方便,如果后面低级问题比较多,再约定回复提问的要求。

我建个群,用于及时沟通使用中遇到的问题。

v2ex 手机不方便放图。
想进群的可以先加我微信,再进群。
微信号:`qingpan2014`,记得备注 rnacos 。
heqingpan
2023-09-28 13:08:54 +08:00
晚上我也会把加群方式加到项目 readme 中。
twinsdestiny
2023-09-28 14:21:43 +08:00
配置中心该配置能实时生效吗
kphcdr
2023-09-28 14:28:19 +08:00
挺不错的,我的低配服务器 nacos 和 jenkins 都不敢装,因为 java 比较耗资源。这个东西我会尝试一下
salmon5
2023-09-28 14:29:45 +08:00
salmon5
2023-09-28 14:33:14 +08:00
nacos 2.x 的 grpc 协议性能消耗上降低了很多,只有 1.x 的 几百分之一 吧
salmon5
2023-09-28 14:33:53 +08:00
nacos 1.x 真的太耗资源了
heqingpan
2023-09-28 14:53:20 +08:00
@twinsdestiny 能的,这是基本功能。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/977787

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX