Tokio 上线配置:线程、队列和关闭预算怎么收口
运行时参数散落在代码里,环境一变就难以解释。Tokio 服务至少要把 worker、阻塞任务、队列和关闭行为放在同一份配置契约中。
配置不是越大越好
worker 数要结合 CPU 配额和任务性质测试;阻塞线程池设置上限,避免同步任务无界扩张;通道容量与拒绝方式一起定义。超时分连接、单次操作和整条请求,不要用一个数字包住所有等待。
启动时校验参数关系,例如队列容量不能为零、关闭等待不能短于必要的清理步骤。日志只打印非敏感配置摘要。
发布后读实际值
健康接口或启动事件应暴露运行时实际采用的参数。滚动发布时模拟终止信号,确认停止接收新任务、取消后台循环,并在预算内等待已接任务。无法完成的任务要返回可重试状态,不能静默丢失。