Posts in 2023
-
Release v0.7.2
Wednesday, September 27, 2023 in Kitex
项目:
重要变更介绍 功能 1. 重试: 限制重试请求占比 该特性优化了备用请求的可用性:如某个请求超过重试等待时间,会触发一个备用请求,但如果该请求在RPC超时阈值之内,最终可以正常处理,因而不会被当做失败请求,这会在偶发网络异常时导致大量重试请求,增加服务端压力甚至引起雪崩。 建议更新现有代码: 使用 retry.NewRetryContainerWithPercentageLimit() 来构造 RetryContainer,限制重试请求占比; 在 Client …
-
Release v0.7.0
Tuesday, September 26, 2023 in Hertz
项目:
Hertz v0.7.0 版本中,除了常规迭代优化之外,我们还带来了一个重要 feature。 参数绑定重构 在 Hertz v0.7.0 版本中,我们重构了 hertz 参数绑定 https://github.com/cloudwego/hertz/pull/541 重构说明 在 Hertz v0.7.0 版本中,我们重构了参数绑定能力,将参数绑定能力收敛到框架本身,以更好地支持用户的需求。本次重构主要有以下特点: 功能一致: Binder:重构后在 Hertz …
-
Release v0.5.0
Tuesday, September 26, 2023 in Netpoll
项目:
Optimize [#274] optimize: 添加初始 bookSize 到 8KB 以减少连接最初读取时的开销 [#273] optimize: 当读取一个已经关闭连接时,忽略 EOF 错误 Fix [#283] fix: 保护 operator 不被 detach 两次 [#280] fix: 修复 detach operator race 问题 [#278] fix: OnRequest 应该等待所有 readable 数据都被消费完毕 [#276] fix: …
-
Release v0.5.4
Monday, August 28, 2023 in Volo
项目:
Volo 0.5.4 版本中,除了常规 bugfix 之外,还有一些新的 feature 引入。 Thrift 协议支持 Unknown Fields Motivation 保留 Thrift 解码中未被识别的字段,使用场景比如代理使用IDL的子集解析完整数据,其中未识别的数据将保留成为未识别字段,并透传到下游,可以减少本服务不必要的 IDL 更新或者只解析关心的子集部分。 Solution 在解码 read 步骤时,对于未识别的字段递归进行skip得到长度后,将对应长度的一段 bytes …
-
Release v0.7.0
Monday, August 14, 2023 in Kitex
项目:
重要变更介绍 功能 1. gRPC 压缩支持 实现了 KiteX gRPC 的压缩功能支持,可以使用例如 gzip 等压缩方法减小 payload 体积 2. GLS 使用 local-session 组件兜底请求上下文传递,解决用户没有传递 ctx 导致的微服务断链问题 优化 1. Unknown Fields 无序列化优化 实现无序列化的 unknown field 功能,无序列化unknown fields方案在FastCodec上性能提升约6x ~ 7x,详见:#1017 2. …
-
Hertz 支持 QUIC & HTTP/3
Wednesday, August 02, 2023 in 新闻
项目:
概述 根据 Hertz 的分层设计原则将 QUIC 和 HTTP3 的实现集成到框架中来,对外提供灵活的多协议支持,对内保持足够灵活的扩展性和清晰的架构。 要从头实现一个完整的 QUIC 协议涉及到的工作量比较大且投入产出比相对较低,目前采取更合理的方式:首先定义标准网络传输层接口,之后将开源社区主流的一个或多个成熟的 QUIC 协议实现经过简单的适配和封装通过模块化的方式接入到 Hertz 中来,同时也保留未来独立实现 QUIC 协议的空间。类似目前的网络传输层架构。HTTP/3 同理。 明确 …
-
Release v0.6.1
Monday, June 19, 2023 in Kitex
项目:
详细变更 Hotfix: [#988] hotfix(code_gen): 修复slim模板代码生成失败问题
-
Release v0.6.0
Wednesday, June 14, 2023 in Kitex
项目:
重要变更介绍 功能 1. GRPC 元信息传递 client 默认将 header 设置到 ctx,外部方法可利用 GetHeaderMetadataFromCtx 获取元信息。可用于 transmeta 内获取元信息并设置到 rpcinfo 中,或在中间件内获取 header 信息。 2. Kitex 配置模块重构 增加重试、熔断、超时、限流的 config item,支持 configmanager 中间件定义的接口,用于支持与外部配置中心的扩展集成。 3. Kitex - …
-
Release v0.4.0
Wednesday, June 14, 2023 in Netpoll
项目:
Feature: [#249] feat: 添加 Detach 函数来支持从连接的 poller 中删除连接 Optimize: [#250] optimize: 优化 WriteDirect 实现,避免 remainLen 为 0 时 panic 和重复创建冗余的 LinkBufferNode. Bugfix: [#256] fix: 调用 openPoll 失败时关闭已经创建的 poll [#251] fix: err to e0 [#226] fix: 在关闭连接前 poller …
-
Release v0.5.0
Friday, June 02, 2023 in Volo
项目:
Volo 0.5.0 版本中,除了常规 bugfix 之外,还有一些新的 feature 引入。 Pilota-build compile 接口变动 如果有需要自己编译 idl 的用户,在这个版本中需要适配一下新的compile接口,参数改动很简单,如下: xxx.compile(&["idl/collector.proto"],pilota_build::Output::File(out_dir),);只需要在原先的out_dir上加一 …