Posts in 2023
-
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上加一 …
-
Release v0.5.3
Friday, April 21, 2023 in Kitex
项目:
重要变更介绍 功能 异常重试:添加配置,支持不对超时错误进行重试,用于请求非幂等的场景。 代码生成工具:支持 windows 环境使用。 超时错误类型拆分:支持细粒度的超时错误类型,将 ErrRPCTimeout 细分为三个错误类型:超时、业务cancel、业务timeout。 Thrift FastCodec:支持 unknown fields。 unknown fields 使用背景:在 thrift 中,IDL 内增加字段对未更新 IDL 的一方是无感知的, …
-
字节开源 Monoio :基于 io-uring 的高性能 Rust Runtime
Monday, April 17, 2023 in 新闻
项目:
概述 尽管 Tokio 目前已经是 Rust 异步运行时的事实标准,但要实现极致性能的网络中间件还有一定距离。为了这个目标,CloudWeGo Rust Team 探索基于 io-uring 为 Rust 提供异步支持,并在此基础上研发通用网关。 本文包括以下内容: 介绍 Rust 异步机制; Monoio 的一些设计精要; Runtime 对比选型与应用。 Rust 异步机制 借助 Rustc 和 llvm,Rust 可以生成足够高效且安全的机器码。 …
-
字节跳动开源 Shmipc:基于共享内存的高性能 IPC
Tuesday, April 04, 2023 in 新闻
项目:
简介 Shmipc 是字节跳动服务框架团队研发的高性能进程间通讯库,它基于共享内存构建,具有零拷贝的特点,同时它引入的同步机制具有批量收割 IO 的能力,相对于其他进程间通讯方式能明显提升性能。 在字节内部,Shmipc 应用于 Service Mesh 场景下,mesh proxy 进程与业务逻辑进程、与通用 sidecar 进程的通讯, 在大包场景和 IO 密集型场景能够取得了显著的性能收益。 开源社区关于这方面的资料不多,Shmipc 的开源希望能为社区贡献一份力量,提供一份参考。本文主要 …
-
Release v0.4.1
Monday, March 20, 2023 in Volo
项目:
Volo 0.4.1 版本中,除了常规 bugfix 之外,还有一些新的 feature 引入。 更为详细的 Thrift Decode 错误信息 之前版本的 Thrift Decode 错误信息只会报告出最基本的错误,而不带有任何上下文。 比如含有如下结构关系 structA{1:requiredBb,}structB{2:requiredCc,}structC{3:requiredstringa,}在对结构C的字段a进行 Decode 如果发生错误。在之前的版本中错误信息只会报告针对出a字段 …
-
Release v0.5.0
Wednesday, March 08, 2023 in Kitex
项目:
重要变更介绍 功能 1. Fallback 功能: 支持 Client 侧的 Fallback 功能 业务在 RPC 请求失败后通常会有一些降级措施保证有效返回(比如在请求超时、熔断后,构造默认返回),Kitex 的 Fallback 支持对所有异常请求进行处理。 同时,因为业务异常通常会通过 BaseResp 字段返回,所以也支持对 Resp 进行处理。详见 Fallback。 2. Kitex - gRPC:Client 增加 TLS …
-
Release v0.6.0
Thursday, March 02, 2023 in Hertz
项目:
Hertz 0.6.0 版本中,除了常规迭代优化之外,我们还带来了多个重要 feature。 支持 HTTP Trailer 在 Hertz v0.6.0 版本中,我们支持了 HTTP Trailer 的编码和解析。 https://github.com/cloudwego/hertz-examples/tree/main/trailer 写 Trailer // server 端 func handler(ctx context.Context, c …
-
HTTP 框架 Hertz 实践入门:性能测试指南
Friday, February 24, 2023 in 新闻
项目:
背景 2021 年 9 月 8 日,字节跳动宣布正式开源 CloudWeGo。CloudWeGo 是一套字节跳动内部微服务中间件集合,具备高性能、强扩展性和稳定性的特点,专注于解决微服务通信与治理的难题,满足不同业务在不同场景的诉求。 2022 年 6 月 21 日,Hertz 正式开源。日前,CloudWeGo 团队正式开源字节跳动最大的 HTTP 框架 Hertz。Hertz 自发布以来,得到了大量用户的关注,累计收获了 3K+ star。有很多用户自己进行了测试,感谢大家对我们的关注和支 …