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 | 2 月前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 | 1 月前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
Oracle VM VirtualBox 6.0.0_BETA2 Programming Guide and Reference5.131.1.10 audioHz (read/write) unsigned long IRecordingScreenSettings::audioHz Determines the Hertz (Hz) rate of the recorded audio data. This setting cannot be changed while recording is enabled.0 码力 | 438 页 | 2.54 MB | 1 年前3
共 24 条
- 1
- 2
- 3
相关搜索词
CloudWeGoKitexHertzVolo高性能NetpollGo net优化调度效率性能表现KiteX企业级Go HTTP框架字节跳动Golangmp-units库编译时安全物理量单位系统类型安全unit safetyunits librarydimensional analysisunit correctnessAu library强类型单位数字音频物理单位C++库mp-unitsIPCRPAL用户态协议栈内核绕过RPC框架GameBoy模拟器C++系统理解硬件性能优化KiCad Schematic Editor符号库管理层次化原理图电气规则检查(ERC)网络表导出VirtualBoxMain APIWebServiceCOM/XPCOMincompatible changes













