闭卷重建服务端请求生命周期的对象、公式、算例、算法与失败边界。
Web系统与云原生 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建REST资源与API契约的对象、公式、算例、算法与失败边界。
闭卷重建输入解析、Schema与边界的对象、公式、算例、算法与失败边界。
闭卷重建依赖注入与模块边界的对象、公式、算例、算法与失败边界。
闭卷重建并发模型、线程与异步I/O的对象、公式、算例、算法与失败边界。
闭卷重建Deadline、取消与重试预算的对象、公式、算例、算法与失败边界。
闭卷重建API分页、过滤与批量语义的对象、公式、算例、算法与失败边界。
对象:资源URI、方法语义、表示和状态码组成契约;业务动作可建子资源或命令端点但需明确。;公式:API compatibility=old clients remain valid under declared evolution。;算例:新增可选字段通常向后兼容;删除必填响应字段会破坏旧客户端。;边界:URI全是动词且状态无定义;文档与实现漂移。。
对象:请求经监听、解析、中间件、路由、业务、数据访问、序列化和响应,每阶段有deadline。;公式:T_total=queue+ΣT_stage。;算例:总180ms,排队30,解析10,业务80,数据库40,序列化20。;边界:客户端断开后后台仍无限运行;中间件顺序改变安全语义。。
对象:业务逻辑依赖接口而非全局具体资源,使测试、事务和生命周期可控。;公式:module contract=(inputs,outputs,effects,failures)。;算例:订单服务依赖Clock接口,测试注入固定时间可复现过期边界。;边界:Service Locator隐藏依赖;请求级对象被单例持有。。
对象:服务端在资源消耗前限制body、深度、字段、类型和字符编码,再做业务校验。;公式:accepted=input∈schema∩business∩authorization。;算例:JSON结构合法但数组百万项,应在大小上限处拒绝而非完整分配。;边界:解析后才检查Content-Length;未知字段静默改变含义。。
对象:超时应端到端传播;每层重试必须受总deadline和幂等语义限制。;公式:T_child≤T_remaining−reserve。;算例:总预算500ms,已用180,回程预留70,下游最多250ms。;边界:每层各重试3次形成乘法风暴;超时只停止等待不停止工作。。
对象:线程、事件循环、协程和进程各有调度与阻塞边界;同步阻塞会占用有限worker。;公式:max throughput≈workers/service_time(无其他瓶颈时)。;算例:20 worker、每请求阻塞0.1s,理论上限约200 req/s。;边界:async函数内调用阻塞库;无限创建协程压垮连接池。。
对象:分页需稳定排序和游标快照;过滤字段受控;批量操作定义逐项/原子失败。;公式:cursor encodes order key+tie-break+snapshot/version。;算例:按created_at排序有并列,若游标不含id会重复或漏项。;边界:用offset扫大表且数据变化;批量半成功不返回逐项结果。。