JetBrains公司发布了Ktor 3.4版本,这是其基于Kotlin的异步服务器端和客户端应用开发框架的最新更新。该版本为OkHttp客户端引擎带来了双向流功能,并引入了新的HttpRequestLifecycle插件,可在客户端断开连接时取消正在进行的HTTP请求。
Ktor 3.4于1月23日正式发布,用户可以通过ktor.io网站获取入门指南。
新的HttpRequestLifecycle插件功能介绍
新的HttpRequestLifecycle插件能够在客户端断开连接时取消正在进行的HTTP请求,这一功能在需要取消长时间运行或资源密集型请求时特别有用。当客户端断开连接时,处理请求的协程会被取消,同时客户端启动的launch或async协程也会被取消,结构化并发会清理所有资源。目前此功能仅支持Netty和CIO引擎。
动态文档生成API
Ktor 3.4还引入了用于动态记录端点的新API,该API与新的编译器插件协同工作。与从静态文件构建Swagger前端不同,该模型在运行时从路由树中嵌入的详细信息构建。为了生成文档,开发者可以通过Ktor Gradle插件启用此功能,然后它将通过新的describe API自动在代码中提供详细信息。
OkHttp客户端引擎双向流支持
在Ktor 3.4中,OkHttp客户端引擎现在支持双向流,使客户端能够同时发送请求体数据和接收响应数据,这与常规HTTP调用形成对比——常规调用中请求体必须完全发送后才能开始接收响应。双向流功能适用于HTTP/2连接,可以通过在OkHttpConfig中使用新的duplexStreamingEnabled属性来启用。
Zstd压缩算法支持
此外,压缩插件现在通过ktor-server-compression-zstd模块支持Zstd算法。Zstd是一种快速压缩算法,具有高压缩比、低压缩时间和可配置的压缩级别等特点。
Q&A
Q1:Ktor 3.4的HttpRequestLifecycle插件有什么作用?
A:HttpRequestLifecycle插件能够在客户端断开连接时取消正在进行的HTTP请求,这在需要取消长时间运行或资源密集型请求时特别有用。当客户端断开连接时,处理请求的协程会被取消,结构化并发会清理所有资源。目前仅支持Netty和CIO引擎。
Q2:Ktor 3.4的双向流功能有什么优势?
A:双向流功能使客户端能够同时发送请求体数据和接收响应数据,与常规HTTP调用不同,不需要等待请求体完全发送后才开始接收响应。该功能适用于HTTP/2连接,可以通过OkHttpConfig中的duplexStreamingEnabled属性启用。
Q3:Ktor 3.4如何改进文档生成功能?
A:Ktor 3.4引入了动态记录端点的新API,与编译器插件协同工作。该模型在运行时从路由树中嵌入的详细信息构建,而不是从静态文件构建Swagger前端。开发者可以通过Ktor Gradle插件启用,然后通过新的describe API自动在代码中提供详细信息。
好文章,需要你的鼓励
近期数据显示,2026年5月前企业已宣布约9万个与AI相关的裁员岗位,部分预测称未来五年美国15%的工作将被AI取代。然而,Ramp与Revelio Labs追踪近2.2万家企业的最新报告显示:重度投入AI的企业反而实现了更快的人员增长,包括初级岗位在内的各职能人数均有上升。但这一数据主要来自技术型企业,能否普遍适用仍存疑。报告同时指出,资源匮乏的企业可能在AI浪潮中持续落后。
港科大与快手联合提出NormGuard,针对流匹配模型强化学习训练中速度范数膨胀问题,通过训练时单向惩罚约束,在保留奖励的同时改善图像真实感。
AI数据中心开发商向多家电力公司同时提交大负荷接入申请以确定选址,导致区域需求预测虚高、电网投资失衡。美国联邦能源监管委员会(FERC)及ERCOT、PJM、SPP等机构正推动"承诺优先"规划机制,要求项目具备实质性商业承诺方可纳入长期传输规划。谷歌、亚马逊、微软、OpenAI等科技巨头支持建立标准化的项目成熟度评估体系,但各方在具体机制上仍存分歧。发电建设问题尚未被纳入联邦传输改革议程。
谷歌研究院开发的论文助手工具PAT,利用分阶段深度推理流水线自动审查学术论文,在真实错误检测任务上达到89.7%召回率,并已在STOC和ICML两大顶会完成超4700篇论文的真实部署。