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 的开源希望能为社区贡献一份力量,提供一份参考。本文主要 …

    更多

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

    Friday, February 24, 2023 in 新闻

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

    更多

Posts in 2022

  • Kitex Proxyless 之流量路由:配合 Istio 与 OpenTelemetry 实现全链路泳道

    Tuesday, November 08, 2022 in 新闻

    导语:Kitex Proxyless 是 Kitex 服务能够不借助 envoy sidecar 直接与 istiod 交互,基于 xDS 协议动态获取控制面下发的服务治理规则,并转换为 Kitex 对应规则来实现一些服务治理功能,如流量路由。基于 Kitex Proxyless,能够实现 Kitex 无需代理就可以被 ServiceMesh 统一管理,进而实现多种部署模式下的治理规则 Spec、治理控制面、治理下发协议、异构数据治理能力的统一。本文在 biz-demo 中使用 Kitex …

    更多

  • 助力字节降本增效,大规模企业级 HTTP 框架 Hertz 设计实践

    Tuesday, September 27, 2022 in 新闻

    字节跳动内部 Go HTTP 框架的变迁 在正式开始介绍第一部分的内容之前,先展示一组关键词。2020 年初 Hertz 立项,2020 年 10 月,Hertz 发布第一个可用版本 。 2022 年 6 月,Hertz 正式开源。 截至目前,Hertz 在字节内部已经支撑超过 1.4 万个业务服务 , 日峰值 QPS 超过 5000 万 。 Hertz 不仅支持业务服务,同时还会横向支持字节内部的各种基础组件,包括但不限于字节跳动服务网格控制面、公司级别压测平台以及 FaaS,还包括各种业务网 …

    更多

  • 高性能 RPC 框架 CloudWeGo-Kitex 内外统一的开源实践

    Tuesday, September 20, 2022 in 新闻

    由内至外 - 开源过渡 很多同学可能刚刚了解 CloudWeGo,先介绍一下 CloudWeGo 和 Kitex 的关系。 CloudWeGo 和 Kitex Kitex 是 CloudWeGo 开源的第一个微服务框架,它是一个 支持多协议的 Golang RPC 框架 ,从网络库、序列化库到框架的实现基本完全自研的。 特别地,Kitex 对 gRPC 协议的支持使用了 gRPC 官方的源码,但是我们对 gRPC 的实现做了 深度且定制的优化 ,所以 Kitex 支持的 gRPC …

    更多

  • 开源社区的长期主义与新变化 — CloudWeGo 开源社区实践

    Tuesday, September 13, 2022 in 新闻

    概述 CloudWeGo 开源一周年以来收获了超过 1w 的 star 数,这一年 CloudWeGo 从项目的数量、性能的提升、社区的活跃、生态的拓展等各个方面都有一些整体的变化。 同时,通过一周年的开源,我们收获了非常多的开源社区用户,这些用户在社区里也提供了很多项目的使用反馈。基于这些反馈,我们发现随着技术发展和用户业务的不停迭代,用户需求也在发生着变化。 因此我们梳理了新一代关于云原生微服务用户的画像,作为指导我们社区持续演进的重要参考。 CloudWeGo …

    更多

  • 选择 Go 还是 Rust?CloudWeGo-Volo 基于 Rust 语言的探索实践

    Tuesday, September 06, 2022 in 新闻

    CloudWeGo 选择 Rust 语言进行探索的原因 CloudWeGo 正式官宣新一代 Rust RPC 框架 Volo 开源!CloudWeGo 为什么会选择 Rust 这门语言进行探索呢?本文首先介绍一下其中的原因。 Go 的代价 深度优化困难 Volo 早期的团队成员来自于 Kitex 项目(CloudWeGo 开源的 Golang 微服务 RPC 框架)。当时我们投入了大量的时间和精力优化 Kitex 以及其他相关基础库的性能,最终却发现实现 Go 的深度优化有些困难。 我们仅仅 …

    更多

  • 国内首个基于 Rust 语言的 RPC 框架 — Volo 正式开源!

    Tuesday, August 30, 2022 in 新闻

    Volo 是字节跳动服务框架团队研发的轻量级、高性能、 可扩展性强、易用性好的 Rust RPC 框架,使用了 Rust 最新的 GAT 和 TAIT 特性。 在字节内部,Volo 已经落地多个业务和基础组件,并且取得了超预期的性能收益(与 Go 版本对比,不那么公平)。 Volo 与其它 CloudWeGo 开源项目一样,坚持内外维护一套代码,为开源使用提供了强有力的保障。同时,我们观察到 Rust 开源社区在 RPC 框架这块还比较薄弱, Volo 的开源希望能为社区的完善贡献一份力量,同时 …

    更多

  • 超大规模的企业级微服务 HTTP 框架 — Hertz 正式开源!

    Tuesday, June 21, 2022 in 新闻

    今天,经过了字节跳动内部一年多的使用和迭代,高性能企业级 HTTP 框架—— Hertz,已在 CloudWeGo 正式开源啦!Hertz 已经成为了字节跳动内部最大的 HTTP 框架,线上接入的服务数量超过 1 万, 峰值 QPS 超过 4 千万,具有 高易用性 、 易扩展 、低时延的特点。对于字节跳动服务框架团队和 CloudWeGo 而言,Hertz 将不仅仅是一个开源项目,它也是一个真实的超大规模企业级实践。 项目地址:https://github.com/cloudwego/hertz …

    更多