基于Rustlang的微服务实践
目标
通过1个简单的场景,验证基于Rust去构建微服务的可行性和挑战。
架构
代码结构
{Workspaces}/{top level workspace}/{micro-service workspace}/{micro-service component package}
结构名称 | 实例 |
---|---|
Workspaces | rustlangws |
Top level workspace | rustlang-hacking-microservice-1 |
micro-service workspace | hacking_news |
micro-service component package | hacking_news_app |
micro-service component package | hacking_news_domain |
micro-service component package | hacking_news_infra |
micro-service component package | hacking_news_migrations |
micro-service workspace | hacking_trading |
micro-service component package | hacking_trading_app |
micro-service component package | hacking_trading_domain |
micro-service component package | hacking_trading_infra |
micro-service component package | hacking_trading_migrations |
实践演练
开发工具链简述
- Rustup and Cargo
- Visual studio code
- Github
项目创建
创建项目
为Rust开发设置1个独立的工作空间,命名为rustlangws。在工作空间之下是不同的微服务,微服务之间通过目录隔离。在每个微服务内部,不同的组件是1个独立的Rust项目。
- 创建工作空间
cd ~
mkdir -p Projects/rustlangws/
- 创建一个空的Github项目做为微服务项目的根项目
https://github.com/AllenShi/rustlang-hacking-microservice-1
- Clone微服务项目的根项目
cd Projects/rustlangws/
git clone git@github.com:AllenShi/rustlang-hacking-microservice-1.git
<