RNACOS:用Rust实现的Nacos服务

RNACOS是一个使用Rust语言开发的Nacos服务实现,它继承了Nacos的所有核心功能,并在此基础上进行了优化和改进。作为一个轻量级、快速、稳定且高性能的服务,RNACOS不仅包含了注册中心、配置中心和Web管理控制台的功能,还支持单机和集群部署。

RNACOS的特点

  • 兼容性:RNACOS在设计上完全兼容最新版本的Nacos客户端SDK协议,包括1.x的HTTP OpenApi和2.x的gRPC协议,使得使用Nacos服务的应用可以平滑迁移到RNACOS。
  • 性能提升:与Java版本的Nacos相比,RNACOS提供了更快的启动速度、更低的系统资源占用、更高的性能和更稳定的运行。
  • 文档支持 :详细的使用说明和文档可以在RNACOS Docs中找到。

Docker Pulls 和 GitHub Downloads

RNACOS提供了多种安装和运行方式,包括从GitHub Releases下载二进制包、使用Docker镜像等。

bash 复制代码
https://github.com/nacos-group/r-nacos

适用场景

  • 开发测试环境:如果你的开发测试环境正在使用Nacos,可以考虑替换为RNACOS,享受秒级的启动速度。
  • 个人资源云服务:对于个人资源云服务部署的Nacos,RNACOS是一个资源占用率低(包大小仅10M出头,不依赖JDK)、运行时CPU占用小于0.5%、内存占用小于5M的好选择。
  • 性能与稳定性提升:如果你正在使用非定制的Nacos服务,并希望提升服务性能与稳定性,可以考虑迁移到RNACOS。

演示

控制台演示地址:RNACOS Demo(演示服务与网址由一位热心用户提供)

  • 用户名:dev
  • 密码:dev

演示内容包括:

  • 配置中心:接近5千个配置
  • 服务中心:30个服务,每个服务有15个实例,共450个服务实例

注:以上演示内容,服务使用的内存在15M左右。

快速开始

一、安装运行RNACOS

单机部署

  1. 下载二进制包运行

    • Linux 或 MacOS:

      复制代码
      # 解压
      tar -xvf rnacos-x86_64-apple-darwin.tar.gz
      # 运行
      ./rnacos
    • Windows:解压后直接运行rnacos.exe。

  2. 通过Docker运行

    复制代码
    # 使用最新稳定版本
    docker pull qingpan/rnacos:stable
    docker run --name mynacos -p 8848:8848 -p 9848:9848 -p 10848:10848 -d qingpan/rnacos:stable

    Docker的容器运行目录是/io,会从这个目录读写配置文件。

  3. 通过Docker-Compose运行

    yaml 复制代码
    version: '3.8'
    services:
      nacos:
        image: qingpan/rnacos:stable
        container_name: nacos
        ports:
          - "8848:8848"
          - "9848:9848"
          - "10848:10848"
        volumes:
          - ./data:/io:rw
        environment:
          - RNACOS_INIT_ADMIN_USERNAME=admin
          - RNACOS_INIT_ADMIN_PASSWORD=admin
          - RNACOS_HTTP_PORT=8848
        restart: always
  4. 通过Cargo编译安装

    复制代码
    # 安装
    cargo install rnacos
    # 运行
    rnacos
  5. 下载源码编译运行

    复制代码
    git clone https://github.com/r-nacos/r-nacos.git
    cd r-nacos
    cargo build --release
    cargo run --release
  6. MacOS通过brew安装

    复制代码
    # 把r-nacos加入taps
    brew tap r-nacos/r-nacos
    # brew 安装 r-nacos
    brew install r-nacos
    # 运行
    rnacos
    # 后续可以直接通过以下命令更新到最新版本
    # brew upgrade r-nacos
bash 复制代码
#账号和密码:admin admin
http://localhost:10848/rnacos/
  1. 部署到K8s
    K8s支持使用Helm部署。

测试、试用推荐使用第1、第2、第3种方式,直接下载运行就可以使用。

启动配置

RNACOS提供了多种启动配置参数,以适应不同的运行环境和需求。详细的参数说明和配置方式可以参考运行参数说明

集群部署

RNACOS支持集群部署,具体的集群部署参考文档可以在集群部署说明中找到。


希望这篇博客能帮助你了解RNACOS,并在你的项目中有效地使用它。如果你有任何问题或需要进一步的帮助,请随时在评论区留言。

相关推荐
SamDeepThinking4 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
shepherd1114 小时前
一文带你掌握 LLM、Token、Context、Prompt、RAG、MCP、Skill、Agent 等 AI 核心概念
人工智能·后端·ai编程
狂炫冰美式5 小时前
人均配了AI, 为什么公司还是没变快? 🤔 本质还是分布式系统问题
前端·后端·架构
花褪残红青杏小7 小时前
Rust图像处理第11节-故障风 RGB 通道偏移:错位错色制造电子故障
rust·webassembly·图形学
她的男孩7 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
爱读源码的大都督7 小时前
Claude Code源码分析(三):为什么系统提示词中需要有tools呢?
前端·人工智能·后端
爱勇宝7 小时前
Claude Code 被曝暗藏“隐形检测”代码:封代理不是最可怕的,可怕的是你根本不知道它在干什么
前端·后端·程序员
ITOM运维行者8 小时前
从零搭建企业级服务器监控体系:踩坑实录与架构设计
前端·后端
花褪残红青杏小8 小时前
Rust图像处理第10节-浮雕/雕刻滤镜:邻域差值生成凹凸效果
rust·webassembly·图形学
用户4099322502128 小时前
Vue状态管理入门第四章:组合式store和SSR风险
前端·vue.js·后端