Issues / #772
#772 Community project: strata-router, a multi-node router for Strata / 社区项目:Strata 多节点路由入口
closed · @konijiwa110 · 1 comentarios · En GitHub
Descripción
Hi, thanks for Strata! I run it on a couple of machines and wrote a small router in front of them. Sharing it in case it is useful to others: **https://github.com/konijiwa110/strata-router** (MIT) ### What it does Clients point at one endpoint and requests are spread across several Strata nodes. The API is the same as Strata's (`/v1/messages`, `/v1/chat/completions`, `/v1/responses`, `/v1/models`, ...); requests are passed through to the nodes unchanged. ### Routing - **Sticky sessions**: a session is identified by its system prompt plus first user message, and goes back to the node that already has its KV cache. - **Moving when busy**: if that node is busy, the router estimates how many tokens an idle node would have to re-read (not counting the system prompt and tools the idle node already cached). It moves the session only if that is under a threshold, otherwise it waits for the original node. - **Strategies**: even, least load, random, weighted. - **Node modes**: enable / drain / disable; a request that fails to connect is retried on another node. ### Console - Node hardware metrics and live progress, including prompt-read progress from `/metrics` - Request log with the routing decision for each request - Multiple access keys with usage stats - Chinese / English UI; the backend uses only the Python standard library If you think it is worth a mention in the README or docs, that would be great; feel free to close this otherwise. --- **中文** 感谢 Strata!我在几台机器上跑 Strata,前面加了一个路由入口,开源出来,也许对别人有用: **https://github.com/konijiwa110/strata-router**(MIT) ### 功能 客户端只连一个入口,请求会分到多台 Strata 节点。接口与 Strata 相同(`/v1/messages`、`/v1/chat/completions`、`/v1/responses`、`/v1/models` 等),请求原样转发给节点。 ### 路由 - **会话粘性**:以系统提示加第一条用户消息识别会话,同一会话回到已有其 KV 缓存的节点。 - **忙时换机**:原节点忙时,估算换到空闲节点需要重读多少 token(不计该节点已缓存的系统提示与工具),低于阈值才换,否则等原节点。 - **分配策略**:平均分配、最少负载、随机、按权重。 - **节点状态**:启用 / 排空 / 停用;连接失败的请求自动换到其他节点重试。 ### 控制台 - 节点硬件指标与实时进度(含从 `/metrics` 读取的提示读取进度) - 请求记录,含每个请求的路由决策 - 多个访问密钥及用量统计 - 中文 / 英文界面;后端只用 Python 标准库 如果觉得值得在 README 或文档里提一下就太好了;不合适的话直接关闭即可。
En el sitio
Enlaces a install, modelos, releases.