Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. Hertz

Hertz

Apache-2.0Gov0.10.5

A high-performance, high-extensibility Go HTTP framework for building microservices.

Visit WebsiteGitHubGitHub
7.3k stars633 forks0 contributors

What is Hertz?

Hertz is a high-performance, high-extensibility, and high-usability Go HTTP framework designed for building microservices. It was developed to meet the demanding internal requirements of ByteDance and is now widely used in production environments. The framework emphasizes a layered architecture that allows developers to tailor it to complex, large-scale microservice needs.

Target Audience

Go developers building high-performance microservices, particularly those in large-scale enterprise environments with demanding performance and customizability requirements. It is suitable for teams that need a framework that can be extensively extended to meet internal protocol, network, or middleware needs.

Value Proposition

Developers choose Hertz for its combination of superior performance, achieved through the self-developed Netpoll network library, and its exceptional extensibility via a layered design with extensive interfaces and plugin support. It offers the unique ability to switch network layers on-demand and customize protocol parsing, which is critical for large-scale, complex deployments.

Overview

Go HTTP framework with high-performance and strong-extensibility for building micro-services.

Use Cases

Best For

  • Building high-performance microservices where QPS and latency are critical metrics.
  • Enterprise-scale Go microservice architectures that require extensive customization of protocols, network layers, or middleware.
  • Scenarios requiring the flexibility to switch between the high-performance Netpoll network library and the standard Go net package based on specific needs.
  • Projects that need native support for HTTP/1.1 and ALPN, with the capability for custom protocol extensions.
  • Teams prioritizing developer experience and an intuitive API to write correct code quickly in a microservice context.
  • Integrating with a wide ecosystem of community extensions for authentication, observability, service discovery, and more, as provided by hertz-contrib.

Not Ideal For

  • Simple REST APIs where ease of setup and community familiarity are priorities over raw performance
  • Projects deeply integrated with standard Go net package libraries that might not fully leverage or require Netpoll
  • Teams needing out-of-the-box HTTP/2 or WebSocket support without additional extension dependencies
  • Small-scale applications where the overhead of a layered, extensible architecture is unnecessary

Pros & Cons

Pros

Benchmark-Proven Performance

Uses the self-developed Netpoll network library, which provides superior QPS and latency compared to standard Go net in many scenarios, as demonstrated in the hertz-benchmark project.

Layered Extensibility

Features a layered design with extensive interfaces and plugin support, allowing developers to customize protocol parsing, network layers, and middleware, as highlighted in the framework extension documentation.

Developer-Centric Usability

Focuses on an intuitive API and active user feedback to help write correct code quickly, emphasizing a smooth development experience for microservices.

Network Layer Flexibility

Supports on-demand switching between Netpoll and Go net, and allows custom network library extensions via plugins, providing adaptability for different deployment scenarios.

Cons

Extension-Driven Feature Set

Key functionalities like HTTP/2, WebSockets, and advanced observability are not built-in but require community extensions from hertz-contrib, adding setup complexity and potential maintenance risks.

Complex Architecture Overhead

The layered design for high extensibility introduces additional abstraction that can be overkill for straightforward projects, leading to a steeper learning curve and potential boilerplate code.

ByteDance-Centric Optimization

Being optimized for ByteDance's internal use, it may include assumptions or dependencies tailored to their ecosystem, which might not align with all external development practices or tooling.

Frequently Asked Questions

Quick Stats

Stars7,307
Forks633
Contributors0
Open Issues16
Last commit1 month ago
CreatedSince 2022

Tags

#high-performance#api-server#http#http-framework#netpoll#cloudwego#microservices#web-framework#backend#go

Built With

G
Go

Links & Resources

Website

Included in

Go169.1k
Auto-fetched 17 hours ago

Related Projects

GinGin

Gin is a high-performance HTTP web framework written in Go. It provides a Martini-like API but with significantly better performance—up to 40 times faster—thanks to httprouter. Gin is designed for building REST APIs, web applications, and microservices.

Stars88,946
Forks8,649
Last commit7 days ago
EchoEcho

High performance, minimalist Go web framework

Stars32,550
Forks2,344
Last commit1 day ago
BeegoBeego

beego is an open-source, high-performance web framework for the Go programming language.

Stars32,408
Forks5,579
Last commit8 days ago
GoFrGoFr

An opinionated GoLang framework for accelerated microservice development. Built in support for databases and observability.

Stars21,111
Forks1,753
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub