Posts in 2022
-
助力字节降本增效,大规模企业级 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 …
-
Release v0.3.2
Tuesday, September 20, 2022 in Hertz
Feature [#198] feat: 添加获取 Hertz client dialer 名称的方法。 [#251] feat: Hertz server 启动日志添加网络库的名称。 Refactor [#238] refactor: 重构 Hertz client 初始化 HostClient 和 TLSHostClient 的逻辑。 Optimize [#226] optimize: 使用 “warning” 日志提示非法的 http 状态码。 Fix …
-
开源社区的长期主义与新变化 — 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 的开源希望能为社区的完善贡献一份力量,同时 …
-
Release v0.3.0
Monday, August 29, 2022 in Hertz
Feature [#182] feat: 添加服务注册 & 服务发现 & 负载均衡。 [#6] feat: 添加 zookeeper 服务注册与发现的扩展。 [#7] feat: 添加 nacos 服务注册与发现的扩展。 [#8] feat: 添加 Consul 服务注册与发现的扩展。 [#9] feat: 添加 polaris 服务注册与发现的扩展。 [#14] feat: 添加 etcd 服务注册与发现的扩展。 [#15] feat: 添加 servicecomb 服务注册 …
-
Release v0.4.0
Friday, August 26, 2022 in Kitex
重要变更介绍 功能 重试功能增强:支持自定义结果重试;支持请求粒度配置重试,详见 重试指南 Frugal(thrift): 支持了 IDL 默认值;使用 Frugal 可以支持不生成编解码代码,详见 frugal Tool-Protobuf:结合 go_package 配置支持依赖外部库,详见 protobuf IDL 的注意事项;支持从文件扩展名猜测 IDL 的类型,生成 proto 代码时无需再指定 type 参数 Fastpb(protobuf): 支持 fastpb 优化 pb 编解 …
-
Release v0.2.0
Friday, July 22, 2022 in Hertz
Feature [#124] feat: 增加参数控制是否使用 hijackConnPool。 [#116] feat: update 也可使用模板更新 handler 及 middleware。 [#130] feat: 如果 Cookie.Value 中存在非法字符,则打印告警日志。 [#143] feat: 增加一个接口支持自定义信号捕捉逻辑,以便根据场景调节优雅退出需要应对的信号类型。 [#114] feat: 标准网络库 Read …
-
超大规模的企业级微服务 HTTP 框架 — Hertz 正式开源!
Tuesday, June 21, 2022 in 新闻
今天,经过了字节跳动内部一年多的使用和迭代,高性能企业级 HTTP 框架—— Hertz,已在 CloudWeGo 正式开源啦!Hertz 已经成为了字节跳动内部最大的 HTTP 框架,线上接入的服务数量超过 1 万, 峰值 QPS 超过 4 千万,具有 高易用性 、 易扩展 、低时延的特点。对于字节跳动服务框架团队和 CloudWeGo 而言,Hertz 将不仅仅是一个开源项目,它也是一个真实的超大规模企业级实践。 项目地址:https://github.com/cloudwego/hertz …