使用框架进行简单的 REST 定义和请求路由
在开发微服务时,我们有多种框架可供选择。之前我们使用 hyper 来处理 HTTP 交互,但它需要编写异步代码。如果你不需要底层控制,或者创建的微服务不会承受高负载,又或者需要快速简单地编写一个微服务,那么可以尝试使用以下几个 Rust 包:
- rouille
- nickel
- rocket
- gotham
下面我们将详细介绍如何使用这些框架创建微服务。
技术要求
这里会介绍 rouille、nickel、rocket 和 gotham 这些新的包。除了 cargo 和 Rust 编译器外,不需要安装其他特殊软件,但需要使用 nightly 版本,因为 Rocket 框架有此要求。为了让示例更复杂,我们会使用 SQL 数据库和 SMTP 服务器,不过不需要在本地安装这些软件,使用 Docker 启动 PostgreSQL 和 Postfix 服务器容器即可。
你可以从 GitHub 上获取相关代码: https://github.com/PacktPublishing/Hands-On-Microservices-with-Rust/tree/master/Chapter09
Rouille 框架
rouille 包可以帮助我们使用 route!
宏进行简单的路由声明来创建微服务。该框架