touka/docs/introduction.md
WJQSERVER 8a5acb0b04 docs: add comprehensive documentation in Chinese
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-02-18 14:28:03 +00:00

1.8 KiB
Raw Blame History

Touka (灯花) 简介

Touka 是一个基于 Go 语言构建的高性能、多层次 Web 框架。其设计目标是为开发者提供更直接的控制、有效的扩展能力,以及针对特定场景的行为优化

为什么选择 Touka

在众多的 Go Web 框架中Touka 致力于在保持类似 Gin 的易用性的同时,提供更深度的底层控制和更强大的统一错误处理机制。

核心特性

  • 高性能路由: 基于基数树Radix Tree实现的路由系统支持高效的路径匹配、参数捕获和通配符路由。
  • 极致性能优化:
    • Context 复用: 通过对象池sync.Pool管理 touka.Context,显著减少 GC 压力。
    • 最小化内存分配: 在热点路径上尽可能减少临时对象的产生。
  • 统一错误处理: 独创的 errorCapturingResponseWriter 机制,能够捕获包括标准库 http.FileServer 在内的所有组件产生的错误状态码,并交由全局处理器统一处理。
  • 无缝集成 SSE: 内置对 Server-Sent Events 的支持,提供简单易用的回调式 API 和高度灵活的通道式 API。
  • 静态资源增强: 针对本地文件、目录以及 Go 嵌入式文件系统embed.FS提供了开箱即用的支持。
  • 标准库兼容: 提供了适配器,可以轻松将现有的 http.Handlerhttp.HandlerFunc 集成到 Touka 中。

设计哲学

  1. 直接性: 框架 API 设计直观,尽可能减少开发者需要记忆的概念。
  2. 可扩展性: 每一个核心组件(如日志、错误处理器、渲染器)都是可插拔或可定制的。
  3. 健壮性: 内置优雅停机支持,确保在服务器更新或关闭时请求能得到正确处理。

Touka 不仅仅是一个处理 HTTP 请求的工具,它还是构建现代化、可维护、高可用 Web 应用的坚实基础。