# cloudwego/hertz

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cloudwego-hertz).**

7,279 stars · 629 forks · Go · Apache-2.0

## Links

- GitHub: https://github.com/cloudwego/hertz
- Homepage: https://www.cloudwego.io
- awesome-repositories: https://awesome-repositories.com/repository/cloudwego-hertz.md

## Topics

`go` `http` `microservices`

## Description

Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI applications. It functions as a high-performance web server and a communication framework for microservices, utilizing non-blocking I/O and zero-copy memory management to handle high-concurrency traffic.

The project distinguishes itself through a microservices communication toolkit that supports high-efficiency remote procedure calls via gRPC and Thrift protocols. It implements an asynchronous middleware engine based on an onion model, allowing for a pluggable request-response pipeline.

The framework covers a broad range of capabilities, including trie-based request routing, request parameter validation, and multi-format response rendering. It provides integrated service governance and discovery, observability tools for distributed tracing and metrics, and automated API documentation via the Swagger standard.

Developer productivity is supported through interface-driven code generation for service boilerplate and network-free unit testing for request handlers.

## Tags

### Web Development

- [High-Performance HTTP Servers](https://awesome-repositories.com/f/web-development/high-performance-http-servers.md) — Provides a high-performance Go framework optimized for low-latency, high-throughput web service and RESTful API delivery.
- [Go Web Frameworks](https://awesome-repositories.com/f/web-development/go-web-frameworks.md) — Acts as a high-performance Go web framework for building scalable microservices and AI applications.
- [Microservices Frameworks](https://awesome-repositories.com/f/web-development/microservices-frameworks.md) — Provides a comprehensive toolkit for high-efficiency remote procedure calls using gRPC and Thrift protocols.
- [Onion-Model Pipelines](https://awesome-repositories.com/f/web-development/middleware-architectures/onion-model-pipelines.md) — Utilizes an onion-model architecture where requests and responses flow through concentric middleware layers.
- [REST API Frameworks](https://awesome-repositories.com/f/web-development/rest-api-frameworks.md) — Provides a framework for mapping HTTP routes to handlers with integrated request validation and automated Swagger documentation.
- [Trie-Based Routing Engines](https://awesome-repositories.com/f/web-development/route-organization-patterns/trie-based-routing-engines.md) — Employs a high-performance routing engine that organizes path patterns into trie structures for efficient URI matching.
- [HTTP Routing](https://awesome-repositories.com/f/web-development/routing-systems/http-routing.md) — Directs incoming HTTP traffic to specific handlers using static routes, parameter-based routes, and priorities. ([source](https://www.cloudwego.io/zh/blog/2022/09/27/%E5%8A%A9%E5%8A%9B%E5%AD%97%E8%8A%82%E9%99%8D%E6%9C%AC%E5%A2%9E%E6%95%88%E5%A4%A7%E8%A7%84%E6%A8%A1%E4%BC%81%E4%B8%9A%E7%BA%A7-http-%E6%A1%86%E6%9E%B6-hertz-%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5/))
- [Payload Type Mapping](https://awesome-repositories.com/f/web-development/request-payload-specifications/payload-type-mapping.md) — Maps incoming request payloads to structured data types for consistent processing and validation. ([source](https://cdn.jsdelivr.net/gh/cloudwego/hertz@main/README.md))
- [Response Formatting](https://awesome-repositories.com/f/web-development/response-formatting.md) — Produces output in multiple formats, including JSON, HTML, and Protobuf, to meet diverse client requirements. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/example/))
- [Response Rendering](https://awesome-repositories.com/f/web-development/response-rendering.md) — Transforms internal data structures into formatted responses for delivery via a unified rendering interface. ([source](https://cdn.jsdelivr.net/gh/cloudwego/hertz@main/README.md))
- [Static Asset Serving](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/web-server-capabilities/static-asset-serving.md) — Provides web server capabilities optimized for delivering static files and assets directly to clients. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/example/))

### Data & Databases

- [Memory Reference Counting](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/data-persistence-storage/data-storage-architectures/zero-copy-memory-mappings/memory-reference-counting.md) — Implements zero-copy memory management using reference counting to handle high-concurrency traffic with minimal memory overhead. ([source](https://www.cloudwego.io/blog/2020/05/24/bytedance-practices-on-go-network-library/))
- [Kernel-Level Data Splicing](https://awesome-repositories.com/f/data-databases/zero-copy-data-access/kernel-level-data-splicing.md) — Uses zero-copy APIs to send and receive data between processes and the kernel, avoiding memory buffer duplication. ([source](https://www.cloudwego.io/blog/2020/05/24/bytedance-practices-on-go-network-library/))
- [Data Serialization and Parsing](https://awesome-repositories.com/f/data-databases/data-serialization-and-parsing.md) — Processes Thrift and Protobuf definitions for high-performance structured data serialization. ([source](https://www.cloudwego.io/docs/volo/))

### Development Tools & Productivity

- [Interface Definition Code Generation](https://awesome-repositories.com/f/development-tools-productivity/interface-definition-code-generation.md) — Generates server skeletons and client stubs from Thrift or Protobuf IDL files to ensure type safety.
- [Server Boilerplate Generators](https://awesome-repositories.com/f/development-tools-productivity/type-safe-binding-generators/server-boilerplate-generators.md) — Automatically generates server-side boilerplate code from API schema definitions to ensure type safety. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/example/))

### Networking & Communication

- [Thrift Service Implementations](https://awesome-repositories.com/f/networking-communication/apache-thrift-integrations/thrift-service-implementations.md) — Implements server-side service logic to process remote procedure calls using the Apache Thrift protocol. ([source](https://www.cloudwego.io/docs/volo/))
- [High-Concurrency Networking](https://awesome-repositories.com/f/networking-communication/high-concurrency-networking.md) — Utilizes non-blocking I/O and asynchronous calls to process massive volumes of concurrent network requests with minimal latency. ([source](https://www.cloudwego.io/))
- [High-Performance Networking](https://awesome-repositories.com/f/networking-communication/high-performance-networking.md) — Optimizes throughput and latency using non-blocking I/O, zero-copy data transfer, and customizable network libraries.
- [gRPC Service Implementations](https://awesome-repositories.com/f/networking-communication/polyglot-client-support/grpc-implementations/grpc-service-implementations.md) — Implements gRPC services for defining and executing high-efficiency remote procedure calls. ([source](https://www.cloudwego.io/docs/volo/))
- [Reactor Pattern Event Distribution](https://awesome-repositories.com/f/networking-communication/traffic-shaping/scaling/reactor-pattern-event-distribution.md) — Employs a reactor-based event loop to distribute network events to a worker pool for high-performance request handling. ([source](https://www.cloudwego.io/blog/2020/05/24/bytedance-practices-on-go-network-library/))
- [URI Handlers](https://awesome-repositories.com/f/networking-communication/uri-handlers.md) — Matches URIs to handler functions using a high-performance routing tree with parameter matching. ([source](https://www.cloudwego.io/zh/blog/2022/06/21/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E5%BC%80%E6%BA%90-go-http-%E6%A1%86%E6%9E%B6-hertz-%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5/))
- [Pluggable Transport Layers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-transport-layers/pluggable-transport-layers.md) — Provides a modular interface for swapping underlying network transport libraries and protocols to optimize performance.
- [Connection Multiplexing](https://awesome-repositories.com/f/networking-communication/connection-multiplexing.md) — Simulates multiple virtual connections over a single persistent connection to reduce scheduling overhead and increase efficiency. ([source](https://www.cloudwego.io/blog/2020/05/24/bytedance-practices-on-go-network-library/))
- [Custom Protocol Implementations](https://awesome-repositories.com/f/networking-communication/custom-protocol-implementations.md) — Provides a pluggable interface to register and implement custom communication protocols. ([source](https://www.cloudwego.io/zh/blog/2022/06/21/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E5%BC%80%E6%BA%90-go-http-%E6%A1%86%E6%9E%B6-hertz-%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5/))
- [Dynamic Service Discovery](https://awesome-repositories.com/f/networking-communication/dynamic-service-discovery.md) — Provides mechanisms for mapping logical service names to physical network addresses to enable dynamic microservices communication. ([source](https://cdn.jsdelivr.net/gh/cloudwego/hertz@main/README.md))
- [Protocol Version Selectors](https://awesome-repositories.com/f/networking-communication/http-protocols/protocol-version-selectors.md) — Supports various versions of the HTTP protocol and allows for custom protocol extensions. ([source](https://www.cloudwego.io/zh/blog/2022/09/27/%E5%8A%A9%E5%8A%9B%E5%AD%97%E8%8A%82%E9%99%8D%E6%9C%AC%E5%A2%9E%E6%95%88%E5%A4%A7%E8%A7%84%E6%A8%A1%E4%BC%81%E4%B8%9A%E7%BA%A7-http-%E6%A1%86%E6%9E%B6-hertz-%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5/))
- [Multi-Protocol](https://awesome-repositories.com/f/networking-communication/rpc-servers/multi-protocol.md) — Supports multiple communication protocols simultaneously to enable interaction across different service architectures. ([source](https://www.cloudwego.io))
- [Service Governance](https://awesome-repositories.com/f/networking-communication/service-governance.md) — Coordinates service discovery, registration, and load balancing to maintain stability within a microservices environment. ([source](https://www.cloudwego.io/zh/blog/2022/09/27/%E5%8A%A9%E5%8A%9B%E5%AD%97%E8%8A%82%E9%99%8D%E6%9C%AC%E5%A2%9E%E6%95%88%E5%A4%A7%E8%A7%84%E6%A8%A1%E4%BC%81%E4%B8%9A%E7%BA%A7-http-%E6%A1%86%E6%9E%B6-hertz-%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5/))

### Operating Systems & Systems Programming

- [Network Event Monitoring Schedulers](https://awesome-repositories.com/f/operating-systems-systems-programming/network-event-monitoring-schedulers.md) — Implements a high-performance event monitoring scheduler to trigger asynchronous network I/O operations. ([source](https://www.cloudwego.io/blog/2020/05/24/bytedance-practices-on-go-network-library/))

### Software Engineering & Architecture

- [Asynchronous Middleware Engines](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-middleware-engines.md) — Implements an asynchronous middleware engine to process requests through a sequence of non-blocking functions. ([source](https://www.cloudwego.io/docs/volo/))
- [Interceptor Middleware](https://awesome-repositories.com/f/software-engineering-architecture/interceptor-middleware.md) — Implements a pluggable pipeline for injecting cross-cutting concerns like authentication and logging into the request lifecycle.
- [Reference-Counted Memory Blocks](https://awesome-repositories.com/f/software-engineering-architecture/memory-buffering/zero-copy-buffer-tuning/reference-counted-memory-blocks.md) — Uses memory blocks and reference counting to move data between the network and application without duplicating buffers.
- [Microservice Architectures](https://awesome-repositories.com/f/software-engineering-architecture/microservice-architectures.md) — Provides a toolkit for building scalable backend systems with support for gRPC, Thrift, and service discovery.
- [Custom Middleware Implementations](https://awesome-repositories.com/f/software-engineering-architecture/middleware/custom-middleware-implementations.md) — Allows inserting custom processing steps before and after handlers using an onion-model architecture. ([source](https://www.cloudwego.io/zh/blog/2022/09/27/%E5%8A%A9%E5%8A%9B%E5%AD%97%E8%8A%82%E9%99%8D%E6%9C%AC%E5%A2%9E%E6%95%88%E5%A4%A7%E8%A7%84%E6%A8%A1%E4%BC%81%E4%B8%9A%E7%BA%A7-http-%E6%A1%86%E6%9E%B6-hertz-%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5/))
- [Automated API Documentation](https://awesome-repositories.com/f/software-engineering-architecture/automated-api-documentation.md) — Automatically generates technical API specifications and documentation from source code using the Swagger standard. ([source](https://cdn.jsdelivr.net/gh/cloudwego/hertz@main/README.md))
- [Reactor Pattern Event Loops](https://awesome-repositories.com/f/software-engineering-architecture/reactor-pattern-event-loops.md) — Distributes network events to a worker pool using a reactor-based event monitoring scheduler to handle high concurrency.
- [Request Interception Middleware](https://awesome-repositories.com/f/software-engineering-architecture/request-interception-middleware.md) — Implements architectural patterns for routing traffic through security and logging layers before core business processing. ([source](https://www.cloudwego.io/zh/blog/2022/06/21/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E5%BC%80%E6%BA%90-go-http-%E6%A1%86%E6%9E%B6-hertz-%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5/))
- [Request Middleware](https://awesome-repositories.com/f/software-engineering-architecture/request-middleware.md) — Provides reusable middleware components to handle cross-cutting concerns like logging and error recovery. ([source](https://cdn.jsdelivr.net/gh/cloudwego/hertz@main/README.md))
- [Request Validation](https://awesome-repositories.com/f/software-engineering-architecture/request-validation.md) — Provides utilities for validating incoming HTTP request parameters, queries, and cookies against defined schemas. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/example/))

### Artificial Intelligence & ML

- [AI Application Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/ai-application-frameworks.md) — Provides a structured framework to organize model logic and data processing for building AI-native applications. ([source](https://www.cloudwego.io/docs/eino/))

### DevOps & Infrastructure

- [Graceful Shutdowns](https://awesome-repositories.com/f/devops-infrastructure/graceful-shutdowns.md) — Ensures clean termination by allowing all in-flight requests to complete before shutting down the server process. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/example/))

### Programming Languages & Runtimes

- [Incremental Stream Processing](https://awesome-repositories.com/f/programming-languages-runtimes/data-compression-and-decompression/incremental-stream-processing.md) — Processes large payloads and proxy requests incrementally to reduce memory overhead and latency. ([source](https://www.cloudwego.io/zh/blog/2022/06/21/%E8%B6%85%E5%A4%A7%E8%A7%84%E6%A8%A1%E7%9A%84%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BE%AE%E6%9C%8D%E5%8A%A1-http-%E6%A1%86%E6%9E%B6-hertz-%E6%AD%A3%E5%BC%8F%E5%BC%80%E6%BA%90/))

### Security & Cryptography

- [Request Authentication Middleware](https://awesome-repositories.com/f/security-cryptography/request-authentication-middleware.md) — Features an asynchronous middleware engine that intercepts requests to enforce authentication via tokens and API keys. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/example/))

### System Administration & Monitoring

- [Application Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring.md) — Tracks execution metrics to monitor the health and response times of service requests. ([source](https://www.cloudwego.io/docs/hertz/tutorials/observability/))
- [Distributed Tracing](https://awesome-repositories.com/f/system-administration-monitoring/distributed-tracing.md) — Traces requests across microservice boundaries using telemetry standards to identify system bottlenecks. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/example/))
- [Metric and Performance Monitors](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors.md) — Monitors system health by tracking metrics, traces, and logs using industry-standard tools. ([source](https://cdn.jsdelivr.net/gh/cloudwego/hertz@main/README.md))
- [Observability Tool Integrations](https://awesome-repositories.com/f/system-administration-monitoring/observability-tool-integrations.md) — Injects custom providers for logging, tracing, and metrics via a standardized observability interface. ([source](https://www.cloudwego.io/zh/blog/2022/06/21/%E5%AD%97%E8%8A%82%E8%B7%B3%E5%8A%A8%E5%BC%80%E6%BA%90-go-http-%E6%A1%86%E6%9E%B6-hertz-%E8%AE%BE%E8%AE%A1%E5%AE%9E%E8%B7%B5/))
- [Service Observability Integrations](https://awesome-repositories.com/f/system-administration-monitoring/service-discovery-observability/service-observability-integrations.md) — Integrates distributed tracing, performance metrics, and structured logging to monitor the health of Go services.
- [Custom Log Writers](https://awesome-repositories.com/f/system-administration-monitoring/system-logging/custom-log-writers.md) — Provides a custom logging interface to control how system events and errors are recorded and formatted. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/framework-exten/))

### Testing & Quality Assurance

- [Network-Bypass](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/unit/unit-testing/network-bypass.md) — Tests request handlers using internal interfaces to bypass the network stack and increase execution speed. ([source](https://www.cloudwego.io/zh/docs/hertz/tutorials/example/))
