Posts in 2024

  • 如何让你的 Kitex 生成代码击败 99% 的用户

    Friday, September 20, 2024 in 新闻

    前言 为什么要生成代码 框架开发有两种常见的风格: Code First 和 Schema First 简单来说,Code First 就是先写代码,再由代码生成数据模型和接口规范(比如先代码写一个 http 接口,然后用 Swagger 来生成 API 信息) 而 RPC 开发更多是 Schema First ,因为 RPC 服务可能是跨语言的,不一定会先写代码,而是用 Thrift、Protobuf 这些通用的 IDL 来描述接口和结构体,再生成对应语言、对应框架的具体代码。 (btw, …

    更多

  • kitexcall:用 JSON 发起 RPC 请求的命令行神器

    Friday, May 31, 2024 in 新闻

    背景 Kitex 是字节跳动基础架构服务框架团队推出的 Go 微服务 RPC 框架,支持 Thrift、Kitex Protobuf、gRPC 等消息协议,具有高性能、强可扩展的特点。Kitex 于 2021 年 9 月正式开源后,已在多家外部企业成功落地,为他们带来了真实的成本、性能和稳定性收益。 然而,对于开发者来说,有一个痛点是,为了验证 Server 端代码,发起 RPC 测试请求的流程比较繁琐。 痛点 给 Kitex 服务发送 RPC 测试请求的过程通常包括: 生成客户端代码: …

    更多

  • Kitex 支持 Dubbo 协议:助力多语言云原生生态融合

    Saturday, March 16, 2024 in 新闻

    背景 Kitex 是字节跳动基础架构服务框架团队推出的 Go 微服务 RPC 框架,支持 Thrift、Kitex Protobuf、gRPC 等消息协议,具有高性能、强可扩展的特点。于 2021 年 9 月正式开源后,已在多家外部企业成功落地,为他们带来了真实的成本、性能和稳定性收益。 很多企业用户在使用 Kitex 改造服务的过程中,需要 Kitex 能与现有的 Dubbo 框架实现的服务进行通信,这与 CloudWeGo 社区积极拓展生态的目标不谋而合,因此 Dubbo …

    更多

Posts in 2023

  • CloudWeGo 易用性建设:提升 Go 语言云原生工程效率之路

    Thursday, December 21, 2023 in 新闻

    本篇文章是 CloudWeGo 两周年庆典系列的第二篇。 这次分享会首先给大家同步下 CloudWeGo 易用性建设的一个简单背景,然后会介绍我们针对易用性建设做了哪些工作,最后会对未来的工作进行展望。 背景 CloudWeGo 是一套由字节跳动基础架构服务框架团队开源的、可快速构建企业级云原生微服务架构的中间件集合。 CloudWeGo 下的项目主要有三个特点:高性能、高扩展性以及高可靠性;并且,在开源后我们也更加重视易用性的建设,我们意识到易用性可以给社区带来很多用户、进而形成活跃的社区 …

    更多

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

    Thursday, November 30, 2023 in 新闻

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

    更多

  • Hertz 支持 QUIC & HTTP/3

    Wednesday, August 02, 2023 in 新闻

    概述 根据 Hertz 的分层设计原则将 QUIC 和 HTTP3 的实现集成到框架中来,对外提供灵活的多协议支持,对内保持足够灵活的扩展性和清晰的架构。 要从头实现一个完整的 QUIC 协议涉及到的工作量比较大且投入产出比相对较低,目前采取更合理的方式:首先定义标准网络传输层接口,之后将开源社区主流的一个或多个成熟的 QUIC 协议实现经过简单的适配和封装通过模块化的方式接入到 Hertz 中来,同时也保留未来独立实现 QUIC 协议的空间。类似目前的网络传输层架构。HTTP/3 同理。 明确 …

    更多

  • 字节开源 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 …

    更多