首页 > 其他分享 >占用资源极低!这款轻量级 Nacos 性能炸裂!

占用资源极低!这款轻量级 Nacos 性能炸裂!

时间:2024-11-14 09:30:20浏览次数:1  
标签:rnacos 炸裂 Nacos nacos 8848 0.1 foo 轻量级

大家好,我是 Java陈序员

在开发中,Nacos 作为一款非常流行的微服务配置中心、注册中心,在构建微服务项目时往往会使用到它。

但是对于个人开发者而言,云服务器资源有限,往往无法撑起 Nacos 服务的高内存使用!

今天,给大家介绍一款轻量级的 Nacos 服务,功能平替,占用资源极低!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目简介

r-nacos —— 一个用 Rust 实现的轻量、快速、稳定、高性能的 Nacos 服务,包含注册中心、配置中心、Web 管理控制台功能,支持单机、集群部署。

架构图

对比 Nacos

r-nacos 相较于 Java Nacos 来说,提供相同功能,设计上完全兼容最新版本 Nacos 面向 Client SDK 的协议,Nacos 服务应用可以无缝平迁到 r-nacos. 但是 r-nacos 启动更快、占用系统资源更小、性能更高

由于 r-nacos资源占用率低: 包 10M 出头不依赖、JDK、运行时 CPU 小于 0.5%、小于 5M(具体和实例有关),十分适合用于替换个人资源云服务部署的 Nacos.

性能压测

r-nacos 的性能还是非常好的,如下是官方提供的性能压测结果表,可以参考下。

项目截图

配置列表

服务列表

用户管理

命名空间

数据迁移

系统监控

快速上手

安装运行

  • 方式 1:下载二进制包运行
# 解压
tar -xvf rnacos-x86_64-apple-darwin.tar.gz
# 运行
./rnacos
  • 方式 2: 通过 Docker 运行
# stable是最新正式版本号,也可以指定镜像版本号,如: qingpan/rnacos:v0.4.0
docker pull qingpan/rnacos:stable  
docker run --name mynacos -p 8848:8848 -p 9848:9848 -p 10848:10848 -d qingpan/rnacos:stable
  • 方式 3: 通过 docker-compose 运行
# 集群部署样例,数据目录: ./data
version: '3.8'

services:
  nacos:
    image: qingpan/rnacos:stable
    container_name: nacos
    ports:
      - "8848:8848"
      - "9848:9848"
      - "10848:10848"
    volumes:
      - /data/software/rnacos:/io:rw
    environment:
      - RNACOS_INIT_ADMIN_USERNAME=admin
      - RNACOS_INIT_ADMIN_PASSWORD=admin
      - RNACOS_HTTP_PORT=8848
    restart: always

  • 方式 4: 下载源码编译运行
git clone https://github.com/r-nacos/r-nacos.git
cd r-nacos
cargo build --release
cargo run --release

启动服务后可以在浏览器通过 http://127.0.0.1:10848/rnacos/ 访问 r-nacos 控制台。

初始用户名/密码:admin/admin.

除了以上几种部署安装方式外,官方还提供了 cargo 编译安装MacOS 支持通过 brew 安装K8s安装 等方式,以及集群部署,对应的安装可参考官方文档。

客户端使用

r-nacos 安装运行好后,Java 服务客户端仍可使用 Nacos 原来的集成方式,只需将配置中心、注册中心的地址指向为 r-nacos 服务地址,无缝衔接~

  • 配置中心 Http API 示例
# 设置配置
curl -X POST 'http://127.0.0.1:8848/nacos/v1/cs/configs' -d 'dataId=t001&group=foo&content=contentTest'

# 查询
curl 'http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=t001&group=foo'
  • 注册中心 Http API 示例
# 注册服务实例
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.11&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"001"}'

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.12&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"002"}'

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.13&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"003"}'

# 查询服务实例
curl "http://127.0.0.1:8848/nacos/v1/ns/instance/list?&namespaceId=public&serviceName=foo%40%40nacos.

从功能上来说 r-nacos 是可以平替 Nacos 的,而且它占用内存资源非常低,十分适用于个人开发者使用,感兴趣的可以尝试体验下~

项目地址:https://github.com/nacos-group/r-nacos

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


标签:rnacos,炸裂,Nacos,nacos,8848,0.1,foo,轻量级
From: https://www.cnblogs.com/codechen8848/p/18543128

相关文章

  • SpringBoot 整合 Nacos
    在项目开发过程中,我们经常使用Nacos 作为配置中心和注册中心。本文章我们就从代码层面研究下SpringBoot是如何整合Nacos使用的。Nacos安装启动一键傻瓜试安装即可,官网 写的很清楚这里不在赘述。这里以Window环境安装为例。下载下来,启动 Nacos 将模式改为单机模式。......
  • ubuntu下配置vim插件,实现轻量级代码编辑器
    背景因为需要用虚拟机做实验,然后虚拟机配置的内存很小,如果使用vscode编辑器,内存占用太高,所以放弃,远程使用vscode通过sftp链接也会有很多bug,所以也放弃,鉴于以上。只能考虑使用vimvim的优点轻量级不需要gui的支持,可以在server和desktop版本之间不限制是使用vim插件安装cu......
  • Docker使用docker-compose一键部署nacos、Mysql、redis
    下面是一个简单的例子,展示如何通过DockerCompose文件部署Nacos、MySQL和Redis。请确保您的机器上已经安装了Docker和DockerCompose。1,准备好mysql、redis、nacos镜像sudodockerpullmysql:8&&sudodockerpullredis:7.2&&sudodockerpullnacos/nacos-server:v2.4.......
  • 推荐一个Star超过2K的.Net轻量级的CMS开源项目
    推荐一个具有模块化和可扩展的架构的CMS开源项目。01项目简介PiranhaCMS是一个轻量级且跨平台的CMS库,专为.NET8设计。该项目提供多种模板,具备CMS基本功能,也有空模板方便从头开始构建新网站,甚至可以作为移动应用的后端。是一个完全解耦的CMS,意味着我们可以使用任何技术以任......
  • PostgreSQL流复制主从监控和自动故障转移的轻量级实现
    如何实现PostgreSQL的高可用,之前研究过repmgr以及pg_auto_failover,起作用都是起到主节点故障时,实现“自动故障转移”的目的。但是repmgr以及pg_auto_failover得缺点是对数据库侵入过多,需要在监控的数据库内部进行一系列的配置操作,同时需要启动第三方服务实现节点的可用性监控,这又......
  • 12个微信号消息多到炸裂?自动回复解决我的手忙脚乱!
    点击蓝字关注我们12个微信号消息多到炸裂?自动回复解决我的手忙脚乱!你是不是也有这样的困扰?微信消息多到爆炸,12个号都在不停地“叮叮”响,根本应接不暇!朋友圈、工作群、亲友圈,消息瞬间就能堆积成山,手忙脚乱的你,完全没有时间处理每一条信息。解决方案来了!试过微信管......
  • YoloV10改进策略:上采样改进|CARAFE,轻量级上采样|即插即用|附改进方法+代码
    论文介绍CARAFE模块概述:本文介绍了一种名为CARAFE(Content-AwareReAssemblyofFEatures)的模块,它是一种用于特征上采样的新方法。应用场景:CARAFE模块旨在改进图像处理和计算机视觉任务中的上采样过程,特别适用于目标检测、实例分割、语义分割和图像修复等任务。目标:通过......
  • 有哪些免费的轻量级在线 CRM 系统?6款CRM系统盘点
    对于许多中小型企业和初创公司而言,如何选择一款既能满足日常需求又具性价比的CRM系统很重要。通常来说,系统的成本是企业选型过程中不可忽视的因素,但在这么多的CRM系统中,各类CRM系统的功能与价格对比真的很容易让人眼花缭乱。本文将盘6款值得关注的免费轻量级在线CRM系统,包括简道......
  • Multi-Scale and Detail-Enhanced Segment Anything-1-LMSA-轻量级多尺度适配器
    `importtorch.nnasnnimporttorchimporttorch.nn.functionalasFclassModifyPPM(nn.Module):definit(self,in_dim,reduction_dim,bins):super(ModifyPPM,self).init()self.features=[]forbininbins:self.features.append(nn.Sequential(nn.Adaptive......
  • win11中使用docker-nacos连接容器中的mysql实例记录
     二.方式11.拉取nacosdockerpullnacos/nacos-server2.在dockerdesktop中进行配置如下图相比较’方式2‘这种方式更简单,mysqlip地址需要使用ipv4地址,具体的自己查看ipconfig的ipv4地址(注意:localhsot/127.0.0.1/容器名称都是不行的)下面这几个参数在application.proper......