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自动在代码中提供详细信息。
好文章,需要你的鼓励
穆拉蒂时隔18个月首次接受重大媒体采访,介绍其创立的Thinking Machines Lab正在开发的"交互模型"。该模型能以200毫秒间隔处理音频、文本和视频流,捕捉人类交流中的中断、修正和停顿。她还谈及OpenAI"政变周"经历,强调行业决策权过于集中的担忧,并回应了公司近期研究人员离职问题,表示这是初创实验室的正常波动。
STATE16研究院这篇综述发现,物理AI系统存在"静默失效"风险——AI以高度自信执行基于错误世界信息的动作,却不触发任何报警,并提出在AI输出与物理执行之间建立独立授权层的框架。
本期《Quick Charge》播客涵盖多个热点话题:特斯拉疑似试图删除FSD欺诈相关证据以规避巨额赔付;卡特彼勒持续推进建筑领域电气化布局;住宅太阳能30%税收抵免即将到期。此外,嘉宾Tom Pacheco就高压系统与电池技术培训展开探讨,强调电动车技术人才培养的紧迫性。节目同时提醒有意安装太阳能的用户尽快行动,可通过EnergySage平台比较多家安装商报价。
UIUC与微软联合研发的OpenWebRL框架让4B小模型仅凭400条初始数据,通过在真实网站上边做边学的强化学习方式,在网页智能体基准上超越了用27万条数据训练的竞争对手。