当前位置: 欣欣网 > 码农

r-nacos | 超性能 nacos server 实现

2024-03-08码农

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]

  • 参考资料

    [1]

    r-nacos下载: https://github.com/r-nacos/r-nacos/releases

    [2]

    详细性能说明: https://r-nacos.github.io/r-nacos/performance.html