Posts in 2023

  • 字节开源 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(c context.Context, ctx …

    更多

  • HTTP 框架 Hertz 实践入门:性能测试指南

    Friday, February 24, 2023 in 新闻

    背景 2021 年 9 月 8 日,字节跳动宣布正式开源 CloudWeGo。CloudWeGo 是一套字节跳动内部微服务中间件集合,具备高性能、强扩展性和稳定性的特点,专注于解决微服务通信与治理的难题,满足不同业务在不同场景的诉求。 2022 年 6 月 21 日,Hertz 正式开源。日前,CloudWeGo 团队正式开源字节跳动最大的 HTTP 框架 Hertz。Hertz 自发布以来,得到了大量用户的关注,累计收获了 3K+ star。有很多用户自己进行了测试,感谢大家对我们的关注和支 …

    更多

  • Release v0.3.2

    Tuesday, February 07, 2023 in Volo

    Volo 0.3.2 版本中,除了常规 bugfix 之外,还有多处改进。尤其是,有社区贡献者为我们带来了重要的 feature,非常感谢他们。 Thrift 异步编解码 Trait 支持 @ii64 在 #123 中为我们带来了 Thrift 异步编解码 Trait 的定义和 Binary、Apache Compact Protocol 的实现,在此之前他还为 Pilota 贡献了编解码的底层实现! gRPC graceful shutdown 支持 @iGxnon 在 #127 中为我们带来 …

    更多

  • Release v0.5.0

    Thursday, January 12, 2023 in Hertz

    Hertz 0.5.0 版本中,除了常规迭代优化之外,我们还带来了多个重要 feature。 网络层和协议层支持基于流的接口 https://github.com/cloudwego/hertz/pull/467 在 Hertz v0.5.0 版本中,我们进一步加强了 Hertz 传输层 & 协议层可扩展能力,支持无缝对接基于流的传输层协议 QUIC,以及在此之上构建的 HTTP3 协议。 此外,我们在此基础上还增加和完善了 “ALPN”(应用层协议协 …

    更多

Posts in 2022

  • Release v0.3.0

    Thursday, December 22, 2022 in Volo

    Volo 0.3.0 版本中,除了常规 bugfix 之外,我们还带来了多个重要 feature。 Service Trait 重构 Volo 0.3.0 版本中,我们对 Service Trait 进行了重构,使得 Service Trait 的实现更加简单,同时也提供了更多的灵活性。 具体来看,我们将 Service Trait 的定义从: pubtraitService<Cx,Request>{/// Responses given by the service. type …

    更多

  • Release v0.3.0

    Wednesday, November 09, 2022 in Netpoll

    Feat [#206] feat: 连接 Flush 接口支持写超时设置。 [#182] feat: 支持在 ipv6 only 环境下创建连接。 Fix [#200] fix: 修复 #166 中的代码错误:close fd 没有正确的被 detach。 [#196] fix: 系统 io 调用使用 int32 存储 size, 超限调用会导致 EINVAL。 [#179] fix: 修复 buffer 长度 int32 溢出的问题。 [#183] fix: 当 EPOLLERR 发生 …

    更多