我正在通过 REST Web 服务实现软件更新服务器。它旨在通过对资源的 GET 请求来获取客户端升级“指令”(而不是文件本身)
/clients/{clientId}/upgrades?completed=false
客户端设计为每隔 30 分钟轮询一次资源。当没有可用的升级时,资源返回状态码 404,如果可用,则返回升级指令。当客户端升级完成后,客户端将通过 PUT 请求向服务器报告
/clients/{clientId}/upgrades/{upgradeId}
有一些状态变化。
现在,需要从服务器端进行升级连接控制,即最大同时升级连接限制。
我可以添加一个“升级”状态指示器字段来升级资源,在访问 /clients/{clientId}/upgrades 时更改指示器,并计算“升级计数==true”以查找连接数。如果超出连接数限制,则返回状态码 404 给客户端。但是,它确实打破了 REST Web 服务的无状态原则。
欢迎任何想法。提前致谢。