r-nacos | 超性能 nacos server 实现
r-nacos 简介
r-nacos 是一个用 rust 实现的 nacos 服务端。r-nacos 相较于 java nacos 来说,是一个提供相同功能,启动更快、占用系统资源更小、性能更高、运行更稳定的服务。
r-nacos 设计上完全兼容最新版本 nacos 面向 client sdk 的协议(包含 1.x 的 http OpenApi,和 2.x 的 grpc 协议), 支持使用 nacos 服务的应用平迁到 r-nacos。
内存占用对比
相同环境,实现相同业务需求 rnacos、java-nacos 运行内存实测对比。
# rust nacos 实现
ps aux | grep rnacos | awk '{print $6/1024 "M"}'
1.34375M
# nacos 官方java 版本
ps aux | grep Nacos | awk '{print $6/1024 "M"}'
368.215M
快速上手
从 github release[1] 下载对应系统的应用包,不依赖java环境,解压后即可运行。
# linux 或 mac 解压
tar -xvf rnacos-x86_64-apple-darwin.tar.gz
# 运行
./rnacos
windows 解压后直接运行 rnacos.exe 即可。
浏览器访问:http://localhost:10848 ,进入控制台
配置管理使用
服务发现使用
- 服务发现列表
- 服务实例控制
适用场景
-
开发测试环境中使用的 Nacos 可以替换为 r-nacos,实现秒级启动。
-
个人资源云服务部署的 Nacos 可以考虑替换为 r-nacos,其资源占用率极低:安装包仅 10M 多一点,不依赖 JDK,运行时 CPU 占用小于 0.5%,内存占用小于 5M(具体值依实例而异)。
-
对于使用非定制版 Nacos 服务且希望提升服务性能与稳定性的用户,可以考虑迁移到 r-nacos。
-
详细性能说明 [2]
r-nacos下载: https://github.com/r-nacos/r-nacos/releases
[2]详细性能说明: https://r-nacos.github.io/r-nacos/performance.html
评论