大家好,我是 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 的性能还黑白常好的,如下是官方提供的性能压测结果表,可以参考下。
项目截图
配置列表
服务列表
用户管理
命名空间
数据迁徙
体系监控
快速上手
安装运行
- # 解压
- tar -xvf rnacos-x86_64-apple-darwin.tar.gz
- # 运行
- ./rnacos
复制代码- # 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
复制代码- 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 服务地址,无缝衔接~
- # 设置配置
- 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'
复制代码- # 注册服务实例
- 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/#/
复制代码
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |