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上加一 …

    更多