RNACOS:用Rust实现的Nacos服务

news2024/12/23 22:31:42

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镜像等。

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运行

    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
    
#账号和密码:admin admin
http://localhost:10848/rnacos/
  1. 部署到K8s
    K8s支持使用Helm部署。

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

启动配置

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

集群部署

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


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2253698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

任务管理法宝:甘特图详解

在项目管理中,如何清晰、直观地展示项目的进度和任务分配? 甘特图作为一种经典的项目管理工具,提供了有效的解决方案。无论是团队合作还是个人项目管理,甘特图都能帮助你轻松追踪各项任务的进展。今天,我们将详细介绍…

RabbitMQ 客户端 连接、发送、接收处理消息

RabbitMQ 客户端 连接、发送、接收处理消息 一. RabbitMQ 的机制跟 Tcp、Udp、Http 这种还不太一样 RabbitMQ 服务,不是像其他服务器一样,负责逻辑处理,然后转发给客户端 而是所有客户端想要向 RabbitMQ服务发送消息, 第一步&a…

PyQt 中的无限循环后台任务

在 PyQt 中实现一个后台无限循环任务,需要确保不会阻塞主线程,否则会导致 GUI 无响应。常用的方法是利用 线程(QThread) 或 任务(QRunnable 和 QThreadPool) 来运行后台任务。以下是一些实现方式和关键点&a…

云计算vsphere 服务器上添加主机配置

这里是esxi 主机 先把主机打开 然后 先开启dns 再开启 vcenter 把每台设备桌面再vmware workstation 上显示 同上也是一样 ,因为在esxi 主机的界面可能有些东西不好操作 我们选择主机和集群 左边显示172.16.100.200

Python酷库之旅-第三方库Pandas(255)

目录 一、用法精讲 1206、pandas.tseries.offsets.SemiMonthEnd.is_on_offset方法 1206-1、语法 1206-2、参数 1206-3、功能 1206-4、返回值 1206-5、说明 1206-6、用法 1206-6-1、数据准备 1206-6-2、代码示例 1206-6-3、结果输出 1207、pandas.tseries.offsets.S…

Envoy-istio

最近研究envoy-istio,发现这个博客,觉得很不错,这里记录一下 envoy-istio介绍 envoy-istio - 随笔分类 - yaowx - 博客园 envoy部分七:envoy的http流量管理基础 envoy部分六:envoy的集群管理 envoy部分五&#xff…

甘特图的绘制步骤:教你如何绘制甘特图

甘特图是项目管理中一种极为重要的可视化工具,它以直观的方式展示项目进度,包括任务的开始时间、结束时间、持续时长以及任务之间的先后顺序。在当今的项目管理领域,Excel 和专业的项目管理软件是制作甘特图的两大常用途径,它们各…

C++模拟堆

模板题目 图片来源Acwing 堆的基础知识 代码实现 #include<iostream> #include<algorithm>using namespace std;const int N 1e5 10; int a[N]; int n, m;void down(int u) {int t u;if (2 * u < n && a[2 * u] < a[u]){t 2 * u;}if (2 * u …

牛客linux

1、 统计文件的行数 # 方法 1 wc -l ./nowcoder.txt | awk {print $1} # 方法 2 &#xff0c;awk 可以打印所有行的行号, 或者只打印最后一行 awk {print NR} ./nowcoder.txt |tail -n 1 awk END{print NR} ./nowcoder.txt # 方法 3 grep -c 、-n等等 grep -c "" ./…

【unity小技巧】在 Unity 中,Application获取各种文件路径或访问不同类型的存储路径

文章目录 前言1. **Application.persistentDataPath**2. **Application.dataPath**3. **Application.streamingAssetsPath**4. **Application.temporaryCachePath**5. **Application.consoleLogPath**6. **Application.userDataPath**7. **Application.streamingAssetsPath 与 …

汇编语言学习-二

好吧&#xff0c;已经隔了两天&#xff0c;下完班看了两天&#xff0c;在电脑上装了虚拟机版的MS_DOS,主要是怕折腾坏我的电脑系统&#xff1b; 这个第二天应该是称为第二章更为合适&#xff0c;目前第二章已经看完&#xff0c;基本的命令也是敲了敲&#xff1b; 下面就进行一…

游戏引擎学习第33天

仓库: https://gitee.com/mrxiao_com/2d_game 位置表示的回顾 在之前的工作中&#xff0c;已经实现了将单位从像素空间转移到真实的空间&#xff0c;这样可以确保所有的动作和物体都按米为单位来进行。这个转变让游戏中的物体不再是基于像素的&#xff0c;而是按照真实世界的…

泷羽sec-burp(3)decodor comparer logger模块使用 学习笔记

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…

vue-cli创建项目报错:command failed: npm install --loglevel error

网上解决方法有很多&#xff0c;对于我都没用。 最后用这个方法起了作用&#xff1a; 尝试将npm源设置为HTTP&#xff0c;慎用&#xff0c;可能不安全 npm config set registry http://registry.npm.taobao.org/ 改为http就顺利创建项目了。

《船舶物资与市场》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答 问&#xff1a;《船舶物资与市场》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊。 问&#xff1a;《船舶物资与市场》级别&#xff1f; 答&#xff1a;国家级。主管单位&#xff1a;中国船舶集团有限公司 主办单…

超详细MacBook Pro(M1)配置GO语言环境(图文超详细版)

前提 当我第一次使用MacBook配置Go语言环境时&#xff0c;网上的资料错综复杂&#xff0c;部分资料对于第一次使用MacBook的小白们非常不友好&#xff0c;打开终端时&#xff0c;终端的位置对应的访达中的位置不是很清楚&#xff0c;因此才有了这篇文章&#xff0c;该文章通过…

单端和差分信号的接线法

内容来源&#xff1a;【单端信号 差分信号与数据采集卡的【RSE】【 NRES】【 DIFF】 模式的连接】 此篇文章仅作笔记分享。 单端输入 单端信号指的是输入信号由一个参考端和一个信号端构成&#xff0c;参考端一般是地端&#xff0c;信号就是通过计算信号端口和地端的差值所得…

前端开发 之 15个页面加载特效中【附完整源码】

前端开发 之 15个页面加载特效中【附完整源码】 文章目录 前端开发 之 15个页面加载特效中【附完整源码】八&#xff1a;圆环百分比加载特效1.效果展示2.HTML完整代码 九&#xff1a;毒药罐加载特效1.效果展示2.HTML完整代码 十&#xff1a;无限圆环加载特效1.效果展示2.HTML完…

【H2O2|全栈】Node.js与MySQL连接

目录 前言 开篇语 准备工作 初始配置 创建连接池 操作数据库 封装方法 结束语 前言 开篇语 本节讲解如何使用Node.js实现与MySQL数据库的连接&#xff0c;并将该过程进行函数封装。 与基础部分的语法相比&#xff0c;ES6的语法进行了一些更加严谨的约束和优化&#…

spark-sql配置教程

1.前期准备 &#xff08;1&#xff09;首先要把hadoop集群&#xff0c;hive和spark等配置好 hadoop集群&#xff0c;hive的配置可以看看这个博主写的博客 大数据_蓝净云的博客-CSDN博客 或者看看黑马程序员的视频 黑马程序员大数据入门到实战教程&#xff0c;大数据开发必…