Posts in 2023

  • Kitex 两周年回顾 — 能力升级、社区合作与未来展望

    Thursday, November 30, 2023 in 新闻

    本篇文章是 CloudWeGo 两周年庆典系列的第一篇。 今天的分享主要分成三个部分,首先是 Kitex 的能力升级,看一下过去一年在性能、功能和易用性这个方面上的一些进展。第二个是社区合作项目的进展,特别是其中两个重点项目 Kitex-Dubbo 互通以及配置中心集成。第三个是给大家剧透一下我们目前在做以及计划做的一些事情。 能力升级 性能 在2021年9月,我们曾发布了一篇字节跳动 Go RPC框架 Kitex 性能优化实践, 这篇文章介绍了如何通过自研网络库 Netpoll、 …

    更多

  • Release v0.8.0

    Monday, October 23, 2023 in Volo

    Volo 0.8.0 版本中,我们主要使用了 AFIT(Async Fn In Trait) 和 RPITIT(Return Position Impl Trait In Traits) 这两个刚刚 stabilized 的 feature 重构了 Service trait 和之前所有用了 async_trait 的地方,除了会有略微的性能提升外,更重要的是,接下来写 Service 可以直接写 async fn call 了,易用性会有较大的提升。 Break Change Service …

    更多

  • Release v0.5.1

    Wednesday, October 18, 2023 in Netpoll

    Fix [#289] fix: 解决当建立建立超时时,遇到 panic 或 fault 错误 Optimise [#290] optimise: 移除已经不使用的 inputBarrier

    更多

  • 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模板代码生成失败问题

    更多