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,并在你的项目中有效地使用它。如果你有任何问题或需要进一步的帮助,请随时在评论区留言。

相关推荐
2601_963870211 分钟前
【计算机毕业设计】基于Spring boot+Vue系统的健身俱乐部管理系统的设计与实现
spring boot·后端·课程设计
倔强的石头_1 分钟前
TextIn xParse + WorkBuddy实战,零门槛轻松打造财报解析助手
后端
andongni2039 分钟前
Spring Boot基础应用开发与部署
java·spring boot·后端
宿67423 分钟前
vue3-指令和事件处理
开发语言·前端·javascript
mqiqe36 分钟前
AgentScope Java Harness:2. 上下文压缩:让长期 Agent 永不“失忆“
java·开发语言
Aurorar0rua36 分钟前
CS50 x 2024 Notes Memory - 03
c语言·开发语言·学习方法
程序员爱钓鱼41 分钟前
Go 运算符详解
后端·面试·go
JaguarJack1 小时前
Fiber 与 PHP 8.6 Polling API 异步初探
后端·php·服务端
爱敲代码的憨仔1 小时前
BM25全文检索
开发语言·python·全文检索
程序员爱钓鱼1 小时前
Rust 生命周期案例详解:从编译错误到真实业务场景
前端·后端·rust