
resgateio/resgateResgate是一个基于Go语言开发的实时API网关,实现了RES协议,使用NATS服务器作为消息系统。它是一个轻量级服务器,可用于创建REST、实时和RPC API,确保所有客户端之间的无缝同步。适用于构建具有实时功能的新REST API,或使用React、Vue.js、Modapp等响应式框架开发单页应用。
!Resgate架构图
使用Docker快速部署Resgate和NATS服务器:
bash# 创建网络 docker network create res # 启动NATS服务器 docker run -d --name nats -p 4222:4222 --net res nats # 启动Resgate docker run --name resgate -p 8080:8080 --net res resgateio/resgate --nats nats://nats:4222
Resgate提供多种示例,涵盖不同使用场景:
| 示例 | 描述 |
|---|---|
| Hello World | 简单服务,提供静态消息 |
| Edit Text | 多客户端并发编辑的文本字段 |
| Book Collection | 可多人编辑的书籍列表 |
| JWT Authentication | JWT令牌认证示例 |
| Password Authentication | 用户名密码认证示例 |
| Client Session | 客户端会话管理,支持重连 |
| 选项 | 描述 | 默认值 |
|---|---|---|
-n, --nats <url> | NATS服务器URL | nats://127.0.0.1:4222 |
-i, --addr <host> | 绑定的主机地址 | 0.0.0.0 |
-p, --port <port> | 客户端HTTP端口 | 8080 |
-w, --wspath <path> | 客户端WebSocket路径 | / |
-a, --apipath <path> | 客户端Web资源路径 | /api/ |
-r, --reqtimeout <seconds> | NATS请求超时时间(毫秒) | 3000 |
-m, --metricsport <port> | OpenMetrics HTTP端口 | 0 (禁用) |
--apiencoding <type> | Web资源编码格式(json/jsonflat) | json |
--wscompression | 启用WebSocket消息压缩 | 禁用 |
| 选项 | 描述 | 默认值 |
|---|---|---|
--tls | 启用HTTP TLS | false |
--tlscert <file> | HTTP服务器证书文件 | - |
--tlskey <file> | HTTP服务器私钥文件 | - |
--creds <file> | NATS用户凭证文件 | - |
--alloworigin <origin> | 允许的CORS源 | * |
| 选项 | 描述 |
|---|---|
-D, --debug | 启用调试输出 |
-V, --trace | 启用跟踪日志 |
-DV | 同时启用调试和跟踪 |
| 选项 | 描述 |
|---|---|
-h, --help | 显示帮助信息 |
-v, --version | 显示版本信息 |
Resgate支持JSON格式的配置文件,默认配置如下:
json{ "natsUrl": "nats://127.0.0.1:4222", "addr": "0.0.0.0", "port": 8080, "metricsPort": 0, "wsPath": "/", "apiPath": "/api", "requestTimeout": 3000, "apiEncoding": "json", "wsCompression": false, "allowOrigin": "*", "debug": false, "trace": false }
使用配置文件启动:
bashdocker run --name resgate -p 8080:8080 --net res -v ./resgate.json:/resgate.json resgateio/resgate -c /resgate.json
Resgate设计为在无法连接NATS服务器或连接丢失时退出。这允许客户端尝试重新连接到其他Resgate实例并恢复会话。可以使用以下脚本保持Resgate运行:
bash#!/bin/bash until docker start resgate; do echo "Resgate容器已退出,正在重启..." >&2 sleep 2 done
完整文档和资源请访问Resgate.io,包括:
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务