服务总览
Markify 由五个独立应用组成。应用可以在同一仓库开发,但运行时不共享源码、内存或文件目录。
| 服务 | 容器名 | 内部端口 | 网络 | 是否保存状态 |
|---|---|---|---|---|
| Markify API | markify-api | 80 | 外部 + 私有 | 预览会话与最新帧 |
| Resource Service | markify-resource | 80 | 私有 | 临时资源与元数据 |
| Image Worker | markify-image-worker | 80 | 私有 | 否 |
| Video Worker | markify-video-worker | 80 | 私有 | 否;功能待实现 |
| Docs | markify-docs | 80 | 外部 | 否 |
服务发现
Compose 网络内使用服务名而不是容器 IP:
dotenv
RESOURCE_SERVICE_URL=http://resource-service:80
WORKER_ENDPOINTS=image=http://image-worker:80,video=http://video-worker:80固定 container_name 便于单服务器运维;HTTP 服务发现仍使用 Compose 服务名 resource-service、image-worker 和 video-worker。
健康语义
live:进程仍在运行。ready:该应用自身可以接收请求。- API
dependencies:探测已注册 Worker,失败时返回degraded,但不改变 API 自身 readiness。
Worker 是 API 的可选启动依赖,但图片预览和渲染请求必须能够访问 Image Worker,否则返回 503 WORKER_UNAVAILABLE。