
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Small Resource Server旨在高负载微服务环境中高效处理资源锁定与同步。通过集中化资源访问,它可防止分布式服务间的竞态条件和状态不一致,同时借助Swoole的并发模型保持轻量快速。这能减少资源竞争、提升吞吐量,确保支付、预订或库存更新等关键操作在高并行流量下仍可靠运行,也为多进程/多服务器批量同步提供有效方案。
它提供轻量、语言无关的HTTP API,支持:
Symfony客户端Bundle为Symfony应用提供便捷、可靠的访问方式:
POST /resource Headers: x-api-key: <WRITE密钥> Body (JSON): { "name": "printer", "timeout": 300 // 可选的服务器端语义 } 201 Created Content-Type: application/json { ...resource... }
GET /resource/{resourceName}/{selector}?lock=1 Headers: x-api-key: <READ或READ+LOCK> x-ticket: <现有ticket | 可选> Query: lock=1 (默认) → 尝试获取/保持锁 lock=0 → 不锁定直接读取 响应: - 200 OK + JSON体 → 资源数据可用,Header含x-ticket:<ticket> - 202 Accepted → 资源不可用(被其他方锁定),Body:{"unavailable":true},Header含x-ticket:<ticket>(用于重试) - 404 Not Found → 资源/selector不存在 - 401 Unauthorized → 缺失/无效x-api-key 或 lock=1时无LOCK权限
PUT /resource/{resourceName}/{selector} Headers: x-api-key: <WRITE密钥> x-ticket: <来自GET的ticket> Body: 待存储的原始JSON payload 204 No Content
POST /resource/{resourceName}/{selector}/unlock Headers: x-api-key: <READ+LOCK> x-ticket: <ticket> 200 OK { "unlocked": true }
安全提示:接受x-api-key头;建议使用TLS;对滥用客户端进行速率限制。
运行服务器最简单的方式是通过Docker:
bash# 从Docker Hub拉取最新镜像 docker pull smallphp/small-resource-server:latest # 运行镜像(根据需要调整API_KEY和端口) docker run -d \ --name resource-server \ --volume "./conf/small-swoole-resource-server.conf:/etc/small-swoole-resource-server.conf" \ -p 8080:9501 \ smallphp/small-resource-server:latest
现在可通过http://localhost:8080%E8%AE%BF%E9%97%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%82
Docker Compose示例:
yamlversion: '3.8' services: resource-server: image: smallphp/small-resource-server:latest restart: unless-stopped ports: - "8080:9501" volumes: - ./conf/small-swoole-resource-server.conf:/etc/small-swoole-resource-server.conf database: container_name: small-swoole-resource-db image: mysql:8 environment: MYSQL_ROOT_PASSWORD: secret command: ["mysqld", "--mysql-native-password=FORCE"]
配置文件示例:
dotenvMYSQL_HOST=database MYSQL_USER=root MYSQL_PASSWORD=secret RESOURCE_READ=d8e8fca2dc0f896fd7cb4cb0031ba249 RESOURCE_READ_LOCK=ed4779d230afc18ca8df5213ba02b11e RESOURCE_WRITE=eadd7e1bbc06f288417df096bbedfa61
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务