CloudWeGo 开源项目介绍2.2 Golang HTTP框架 Hertz 13 2.2.1 架构设计(框架特点/框架性能/扩展能力) 2.2.2 为什么 Hertz 性能更优?字节跳动内部 Go HTTP 框架的变迁 2.2.3 Hertz 示例 demo/使用案例 扩展 demo 示例 字节服务网格使用 Hertz 的落地带来的收益 2.3 Kitex 与 Hertz 的工程实践案例 23 2.3.1 Kitex Kitex Proxyless 之流量路由:配合 Istio 与 OpenTelemetry 实现全链路泳道 2.3.2 使用 Hertz、Kitex 重写经典的 Istio Bookinfo 项目 2.4 Rust 首选 RPC框架 Volo 33 2.4.1 架构设计(框架特点/框架性能/扩展能力) 项目介绍 CloudWeGo是一套由字节跳动开源的、可快速构建企业级云原生微服务架构的中间件集合 com/cloudwego CloudWeGo 开源的主打项目 Golang RPC框架:Kitex(目前已是字节内部使用最广泛的RPC框架,高峰QPS达到数十亿) Golang HTTP框架:Hertz(超大级企业HTTP框架,适用于网关、服务网格等多场景) Rust RPC框架:Volo(Rust首选RPC框架) CloudWeGo的用户 CloudWeGo致力于帮助更多的企业用户,0 码力 | 37 页 | 89.14 MB | 4 月前3
2.2.6 字节跳动在 Go 网络库上的实践46c99e052/p1_1.jpg) 何晨 字节跳动 基础架构-研发 ## Netpoll - 面向 RPC 场景的网络库 应用层 RPC 框架 KiteX HTTP 框架 Hertz 网络层 Netpoll Go net ## Netpoll - 性能表现 ||Thrift (echo 1KB)|RPC|Netpoll|Go net| |---|---|---|---|---|0 码力 | 42 页 | 3.19 MB | 2 年前3
2.1.7 企业级 Go HTTP 框架在字节跳动的实践字节跳动服务框架 Hertz 项目负责人 字节内部框架变迁 01 企业级框架设计考量 02 Hertz 架构和特点 03 总结 04 第一部分 字节内部框架变迁 ’ alt=‘OCR图片’/> 字节内部框架变迁 2014年 引入Golang 2016年 Ginex发布 高并发业务需求长链接推送服务 2020年初 Hertz启动 业务大规模采用Golang 2020年10月 Hertz发布 2022年6月 2022年6月 Hertz正式开源 性能/可扩展性诉求 承接抖音春晚主会场 1000w/零异常 CloudWeGo核心子项目 ’ alt=‘OCR图片’/> 字节内部框架变迁 2万 1亿 10万 ’ alt=‘OCR图片’/> 第二部分 企业级框架设计考量 ’ alt=‘OCR图片’/> 企业级框架设计考量 开荒的时代 公司大规模面向 Golang 语言转型 框架伴随业务野蛮生长 补齐基础设施后便直接交付业务,迭代迅速 业务视角 质量建设 外部 功能需求 性能需求 易用性 稳定性 Hertz ’ alt=‘OCR图片’/> 第三部分 Hertz 核心特点 ’ alt=‘OCR图片’/> Hertz 核心特点 解构框架 连接处理 协议处理 路由处理 一个请求从建立连接到完成请求的全过程 业务逻辑 ’ alt=‘OCR图片’/> Hertz 核心特点 传输层:抽象网络接口 协议层:解析请求,编码响应0 码力 | 38 页 | 5.20 MB | 3 月前3
字节跳动云原生微服务架构原理与开源实践 CloudWeGo 技术白皮书 2024Kitex 的核心特点与设计 ...10 2.2.3 Kitex 最佳实践 ...14 2.4 高性能 HTTP 框架 Hertz 设计与开源实践 …23 2.4.1 Hertz 发展历史 …24 2.4.2 Hertz 的核心特点与设计 …25 2.4.3 Hertz 最佳实践 …26 2.5 国内首个 Rust RPC 框架 Volo 的设计与实践 …29 2.5.1 项目缘起 …29 2 绕性能和可扩展性的诉求展开设计。2020年10月,团队完成了KiteX发布,仅仅两个月后,KiteX就已经接入超过1000个服务。类似的设计思路和底层模块也被应用在字节跳动自研Go HTTP框架Hertz上,该项目在2021年春晚当天承载的服务峰值QPS超过1000w(未统计物理机部署服务),线上无一例异常反馈。 1.2.2 对Rust的持续探索和投入 Rust语言由Graydon Hoare私人 2 CloudWeGo 项目概述 CloudWeGo包括Kitex、Hertz、Volo、Netpoll等多个重点子项目,涵盖Go与Rust开发语言,上至框架下至网络库、编解码库、序列化库均是自研,各个项目既可独立使用也可搭配使用,并围绕这些项目,构建了完整的上下游生态。其中Kitex和Netpoll是2021年开源,Hertz与Volo于2022年开源。 CloudWeGo关注真实企业用户落0 码力 | 68 页 | 24.07 MB | 4 月前3
Improving Our Safety With a Quantities and Units LibraryWhat should be the result of the following equation? ## auto res = 1 * Hz + 1 * Bq + 1 * Bd; • Hz (hertz) - unit of frequency • Bq (becquerel) - unit of activity • Bd (baud) - unit of modulation rate 1 * Hz + 1 * Bq + 1 * Bd; Boost.Units using namespace boost::units::si; std::cout << 1 * hertz + 1 * becquerel << '\n'; ## What should be the result of the following equation? auto 1 * Hz + 1 * Bq + 1 * Bd; Boost.Units using namespace boost::units::si; std::cout << 1 * hertz + 1 * becquerel << '\n'; 2 Hz ## What should be the result of the following equation0 码力 | 207 页 | 6.93 MB | 1 年前3
Au Unitsstd::chrono::nanoseconds elapsed_time(uint64_t num_cpu_ticks) { 2 constexpr auto cpu_ticks = inverse(hertz * mag()); 3 return cpu_ticks(num_cpu_ticks).as(nano(seconds)); 4 } std::chrono::nanoseconds elapsed_time(uint64_t num_cpu_ticks) { 2 constexpr auto cpu_ticks = inverse(hertz * mag()); 3 return cpu_ticks(num_cpu_ticks).as(nano(seconds)); 4 } std::chrono::nanoseconds elapsed_time(uint64_t num_cpu_ticks) { 2 constexpr auto cpu_ticks = inverse(hertz * mag()); 3 return cpu_ticks(num_cpu_ticks).coerce_as(nano(seconds)); 4 } 0 码力 | 191 页 | 22.37 MB | 1 年前3
Exploration of Strongly-typed Units: A Case Study from Digital AudioGetSampleRate(); namespace ni { quantityhertz], float=""> GetSampleRate() { return tp::GetSampleRate() * si::hertz; } hertz],> auto sr1 = ni::GetSampleRate(); // 44100 Hz0 码力 | 106 页 | 5.66 MB | 1 年前3
IPC性能极致优化方案-RPAL落地实践性能优化: 结合用户态协议栈,实现网络 IO 绕过内核 Kitex golang RPC 框架 Frugal 高性能 JIT thrift 编解码器 ## 框架 ## Fastpb Hertz golang HTTP 框架 高性能、protobuf序列化反序列化库 基础库 ## Netpoll Sonic 基于JIT+SMID的JSON 序列化反序列化库 ## 编解码 是一套由字节跳动基础架构服务框架团队开源的、可快速构建企业级云原生微服务架构的中间件集合。 CloudWeGo 项目共同的特点是高性能、高扩展性、高可靠,专注于微服务通信与治理。 CloudWeGo 包括 Kitex、Hertz、Volo、Netpoll、Monoio、Sonic 等多个重点子项目,涵盖 Go 与 Rust 开发语言,上至框架下至网络库、编解码库、序列化库均是自研,各个项目既可独立使用也可搭配使用,并围绕这些项目,构建了完整的上下游生态。0 码力 | 39 页 | 2.98 MB | 2 年前3
Blazing Trails: Building the World's Fastest CameBoy Emulator in Modern C++Chip (SoC) • DMG-CPU or Sharp LR35902 • Sharp SM83 (mix between Z80 and Intel 8080) • 4,194,304 Hertz ≈ 4 MHz • No IO ports = completely memory mapped • Only 8080's set of registers • Z80’s extended0 码力 | 91 页 | 8.37 MB | 1 年前3
KiCad 8.0 Schematic EditorOperating Point Transient Custom Number of points per decade: Start frequency: Stop frequency: 1Meg Hertz  ✓ Add full path0 码力 | 194 页 | 7.86 MB | 2 年前3
共 27 条
- 1
- 2
- 3
相关搜索词
CloudWeGoKitexHertzVolo高性能NetpollGo net优化调度效率性能表现KiteX企业级Go HTTP框架字节跳动Golang微服务架构Service Mesh多运行时架构云原生容器化mp-units库编译时安全物理量单位系统类型安全unit safetyunits librarydimensional analysisunit correctnessAu library强类型单位数字音频物理单位C++库mp-unitsIPCRPAL用户态协议栈内核绕过RPC框架GameBoy模拟器C++系统理解硬件性能优化KiCad Schematic Editor符号库管理层次化原理图电气规则检查(ERC)网络表导出













