4.6 应用开发:tower 生态
引言:从处理请求到构建服务
在之前的章节中,我们学习了如何使用 tokio 和 hyper (tokio 的底层 HTTP 库) 来构建基础的网络服务。我们能够接收请求、发送响应。但是,一个生产级的网络应用远不止于此。我们需要处理:
- 中间件 (Middleware):例如日志记录、认证、超时控制、请求限流、压缩等。
- 服务组合:将多个小的、独立的服务组合成一个大的应用。
- 背压 (Backpressure) 和 负载均衡 (Load Shedding):在服务过载时,优雅地拒绝请求,保护系统不被压垮。
手动实现这些功能非常复杂且容易出错。我们需要一个更高层次的抽象来帮助我们组织和构建网络服务。在 tokio 生态中,这个抽象就是 tower。
tower 是一个用于构建健壮、可组合的网络客户端和服务器的框架。它不是一个 Web 框架,而是一个更通用的、与协议无关的库。它的核心是两个简单而强大的概念:Service 和 Layer。
axum、tonic (gRPC 框架) 等现代 Rust 网络
订阅专栏 解锁全文
2713

被折叠的 条评论
为什么被折叠?



