
qingpan/rnacosr-nacos是采用Rust语言重新实现的Nacos服务,旨在替代传统Java版本Nacos,提供相同的服务发现与配置管理功能,同时显著优化性能与资源效率。相较于Java Nacos,其核心优势包括:启动速度更快、系统资源占用更低(初始内存小于10M)、运行性能更高及稳定性更强,且完全兼容Nacos客户端SDK协议,支持现有Nacos应用平滑迁移。
r-nacos适用于所有需要Nacos服务的场景,尤其推荐以下环境:
bashdocker pull r-nacos:latest
bash# 最简启动(默认内存存储,暴露HTTP与gRPC端口) docker run -d -p 8848:8848 -p 9848:9848 --name r-nacos r-nacos:latest
端口说明:
yamlversion: '3' services: r-nacos: image: r-nacos:latest container_name: r-nacos ports: - "8848:8848" # HTTP服务端口 - "9848:9848" # gRPC服务端口 environment: - NACOS_SERVER_PORT=8848 # HTTP服务端口(默认8848) - NACOS_GRPC_PORT=9848 # gRPC服务端口(默认9848) - STORAGE_TYPE=memory # 存储类型:memory/file/mysql(默认memory) - DATA_DIR=/app/data # 数据存储目录(file存储时生效) - LOG_LEVEL=info # 日志级别(debug/info/warn/error,默认info) volumes: - ./r-nacos-data:/app/data # 挂载数据目录(持久化存储时使用) restart: always
r-nacos支持通过环境变量配置核心参数,常用配置如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
| NACOS_SERVER_PORT | HTTP服务端口(兼容1.x OpenApi) | 8848 |
| NACOS_GRPC_PORT | gRPC服务端口(兼容2.x客户端) | 9848 |
| STORAGE_TYPE | 数据存储类型(memory/file/mysql) | memory |
| DATA_DIR | 文件存储目录(STORAGE_TYPE=file时有效) | /app/data |
| LOG_LEVEL | 日志输出级别 | info |
服务启动后,可通过以下方式验证:
访问HTTP OpenApi(兼容Nacos 1.x):
bashcurl http://localhost:8848/nacos/v1/ns/instance/list?serviceName=test-service
检查gRPC端口监听状态:
bashnetstat -tuln | grep 9848 # 应显示端口处于LISTEN状态
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务