1 个不稳定版本
0.4.1 | 2023年4月11日 |
---|---|
0.3.1 |
|
#1291 在 HTTP 服务器
31 每月下载量
65KB
2K SLoC
user-service
先决条件
-
按照其安装说明安装 Docker。
-
通过运行
cargo install cargo-watch
安装 Watch。 -
按照其安装说明安装 PostgreSQL。
-
通过运行
cargo install diesel_cli --no-default-features --features postgres
安装 Diesel。
开发中
开发时,确保在终端中运行 cargo watch --clear -x fmt
,其中
watch
将检测仓库中的任何更改并刷新命令。--clear
将在检测到更改时清除控制台输出。fmt
将格式化您的 Rust 代码以符合标准,并确保未格式化的代码不会被提交。
要启动应用程序,请运行 docker compose up --build
,这将
- 通过
http://localhos:<port>
公开 API - 通过
localhos:<port>
公开数据库
Docker 会选择独特的端口,可以通过 Docker 界面找到这些端口。
数据库模式更新
可以通过运行 generate
命令并编辑 migrations
目录中相应的文件夹内容来定义新更新
diesel migration generate my_update_name --database-url=postgres://admin:123@db:5432/user_service
可以应用挂起的更新
diesel migration run --database-url=postgres://admin:123@db:5432/user_service
可以使用以下命令回滚
diesel migration revert --database-url=postgres://admin:123@db:5432/user_service
在使用 run
后运行 redo
命令非常重要,以确保您的回滚脚本正常工作
diesel migration redo --database-url=postgres://admin:123@db:5432/user_service
双内(管理员)和外(公共)访问解决方案
此服务包含一组公开和私有的路由/端点,以启用单点登录 (SSO)。
内部接口供其他内部服务查询和运行特权命令,而公共接口允许从客户端调用集中式API进行单点登录(SSO)。
这些接口运行在两个独立的端口上,其中一个端口只能从局域网(内部网络)访问,另一个端口只能从广域网(互联网)访问。
SSO尚未实现,因此这种双解决方案目前不可用,但将来会实现。
依赖项
~21–38MB
~648K SLoC