English | 中文
Hertz [həːts] 是一个高可用性、高性能和高扩展性的Golang HTTP框架,可帮助开发人员构建微服务。它参考了其他开源框架如fasthttp、gin、echo的设计,并结合了字节跳动内部的需求。目前,它已在字节跳动内部广泛使用。如今,越来越多的微服务使用Golang。如果您对微服务性能有要求,并希望框架能够完全满足内部定制需求,Hertz将是一个不错的选择。
高可用性
在开发过程中,快速编写正确的代码往往更为重要。因此,在Hertz的迭代过程中,我们积极听取用户意见并不断完善框架,希望为用户提供更好的使用体验,帮 助用户更快地编写正确的代码。
高性能
Hertz默认使用自研的高性能网络库Netpoll。在某些特殊场景下,与Go Net相比,Hertz在QPS和延迟方面具有一定优势。性能数据请参考下图中的Echo数据。
四个框架的比较:
三个框架的比较:
详细性能数据请参考hertz-benchmark。
高扩展性
Hertz采用分层设计,提供更多接口和默认扩展实现。用户也可以自行扩展。同时,得益于框架的分层设计,框架的扩展性将大大增强。目前,只有稳定的功能对社区开源。更多规划请参考RoadMap。
多协议支持
Hertz框架原生提供HTTP/1.1、HTTP/2、HTTP/3和ALPN协议支持。此外,由于采用分层设计,Hertz甚至支持自定义构建协议解析逻辑,以满足任何协议层扩展需求。
网络层切换能力
Hertz实现了按需在Netpoll和Go Net之间切换的功能。用户可以为不同场景选择合适的网络库。同时,Hertz还支持以插件形式扩展网络库。
Hertz-Examples仓库提供开箱即用的代码。更多
包含常用中间件、上下文选择、数据绑定、数据渲染、直接访问、日志记录、错误处理的介绍和使用。更多
包含检测、日志记录、追踪、监控、OpenTelemetry 集成。更多
包含服务注册与发现扩展、Sentinel集成。更多
包含网络库扩展。更多
API文档、框架可配置项列表。更多
常见问题解答。更多
性能测试只能提供相对参考。在生产环境中,有许多因素会影响实际性能。 我们提供了hertz-benchmark项目,用于跟踪和比较Hertz与其他框架在不同情况下的性能,供参考。
| 扩展 | 描述 |
|---|---|
| Autotls | 让 Hertz 支持 Let's Encrypt。 |
| Http2 | 为 Hertz 提供 HTTP2 支持。 |
| Websocket | 使 Hertz 支持 Websocket 协议。 |
| Etag | 为 Hertz 提供 ETag(或实体标签)HTTP 响应头支持。 |
| Limiter | 提供基于 BBR 算法的限流器。 |
| Monitor-prometheus | 提供基于 Prometheus 的服务监控。 |
| Obs-opentelemetry | Hertz 的 Opentelemetry 扩展,支持指标、日志、追踪,开箱即用。 |
| Opensergo | Opensergo 扩展。 |
| Pprof | Hertz 集成 Pprof 的扩展。 |
| Registry | 提供服务注册和发现功能。目前支持的服务发现扩展有 nacos、consul、etcd、eureka、polaris、servicecomb、zookeeper、redis。 |
| Sentry | Sentry 扩展提供一些统一接口,帮助用户进行实时错误监控。 |
| Tracer | 基于 Opentracing 的链路追踪。 |
| Basicauth | Basicauth 中间件可提供 HTTP 基本认证。 |
| Jwt | JWT 扩展。 |
| Keyauth | 提供基于令牌的身份验证。 |
| Requestid | 在响应中添加请求 ID。 |
| Sessions | 支持多状态存储的会话中间件。 |
| Casbin | 通过 Casbin 支持各种访问控制模型。 |
| Cors | 提供跨域资源共 享支持。 |
| Csrf | Csrf 中间件用于防止跨站请求伪造攻击。 |
| Secure | 具有多个配置项的安全中间件。 |
| Gzip | 具有多个选项的 Gzip 扩展。 |
| I18n | 帮助将 Hertz 程序翻译成多种编程语言。 |
| Lark | 使用 Hertz 处理飞书卡片消息和事件回调。 |
| Loadbalance | 为 Hertz 提供负载均衡算法。 |
| Logger | Hertz 的日志扩展,提供对 zap、logrus、zerologs 日志框架的支持。 |
| Recovery | Hertz 的恢复中间件。 |
| Reverseproxy | 实现反向代理。 |
| Swagger | 使用 Swagger 2.0 自动生成 RESTful API 文档。 |
| Cache | Hertz 中间件,用于缓存 HTTP 响应,支持多种后端。 |
Hertz 根据 Apache License 2.0 进行分发。Hertz 第三方依赖的许可证在这里说明。

感谢您对 Hertz 的贡献!


职场AI,就用扣子
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!


多风格AI绘画神器
堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。


零代码AI应用开发平台
零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协 作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号