1 个不稳定版本

0.4.1 2023年4月11日
0.3.1 2023年4月11日

#1291HTTP 服务器

31 每月下载量

Apache-2.0

65KB
2K SLoC

user-service

先决条件

  1. 按照其安装说明安装 Docker。

  2. 通过运行 cargo install cargo-watch 安装 Watch

  3. 按照其安装说明安装 PostgreSQL。

  4. 通过运行 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