refactor: consolidate backend into modular monolith
This commit is contained in:
@@ -13,7 +13,6 @@
|
||||
可选:
|
||||
|
||||
- Redis 7;
|
||||
- RabbitMQ 4。
|
||||
|
||||
```bash
|
||||
dotnet --version
|
||||
@@ -89,29 +88,25 @@ dotnet run --project Tiku.Api
|
||||
|
||||
OpenAPI 和 Scalar 仅在 Development 映射。接口路径、输入字段、响应模型和授权要求以这里生成的文档为准。
|
||||
|
||||
## 6. 可选:启动 Redis 和 RabbitMQ
|
||||
## 6. 可选:启动 Redis
|
||||
|
||||
本地单实例开发可以不配置这两个依赖。需要验证分布式安全频控、Output Cache、消息和 Outbox 时,先启动本地服务,再设置:
|
||||
本地单实例开发可以不配置 Redis。需要验证安全频控、Feature 缓存和 Output Cache 时,先启动本地服务,再设置:
|
||||
|
||||
```bash
|
||||
export ConnectionStrings__Redis='localhost:6379,abortConnect=false'
|
||||
export RabbitMq__Host='rabbitmq://localhost'
|
||||
export RabbitMq__VirtualHost='/'
|
||||
export RabbitMq__Username='guest'
|
||||
export RabbitMq__Password='guest'
|
||||
```
|
||||
|
||||
RabbitMQ 使用 4.x,当前代码不依赖 delayed-message 插件。延时任务由 PostgreSQL `RunAfter` 调度。
|
||||
Production 必须配置 Redis;PostgreSQL 仍是用户、Session、权限、套餐和用量的权威数据源。
|
||||
|
||||
## 7. 可选:启动 Worker
|
||||
## 7. 后台处理
|
||||
|
||||
需要处理域名、订阅、用量或后台任务时,在另一个终端使用相同配置启动:
|
||||
API 默认在同一进程启动域名、订阅、用量和后台任务 Hosted Service。需要临时关闭时配置:
|
||||
|
||||
```bash
|
||||
dotnet run --project Tiku.Worker
|
||||
export BackgroundProcessing__Enabled=false
|
||||
```
|
||||
|
||||
Worker 会立即开始轮询。域名 DNS/TLS 流程只有在 `TenantDomains` 的 CNAME target 和 Gateway 配置完整后才能激活自定义域名。
|
||||
后台任务状态、租约、重试和 `RunAfter` 存在 PostgreSQL。域名 DNS/TLS 流程只有在 `TenantDomains` 的 CNAME target 和 Gateway 配置完整后才能激活自定义域名。
|
||||
|
||||
## 8. 开发验证
|
||||
|
||||
@@ -139,7 +134,7 @@ pg_isready -h 127.0.0.1 -p 5432
|
||||
psql -h 127.0.0.1 -U <数据库用户> -d postgres -c 'select current_user;'
|
||||
```
|
||||
|
||||
确认当前终端的 `DATABASE_URL` 指向真实存在的数据库,并且 API、DbMigrator 和 Worker 使用同一连接配置。
|
||||
确认当前终端的 `DATABASE_URL` 指向真实存在的数据库,并且 API 与 DbMigrator 使用同一连接配置。
|
||||
|
||||
### 无法创建 PostgreSQL 扩展
|
||||
|
||||
@@ -151,7 +146,7 @@ psql -h 127.0.0.1 -U <数据库用户> -d postgres -c 'select current_user;'
|
||||
|
||||
### Readiness 返回 503
|
||||
|
||||
检查响应中的 `database`、`redis.ready` 和 `rabbitMq.ready`。只配置了 Redis/RabbitMQ 连接串但服务未启动时,readiness 会按已配置依赖检查并返回 503。
|
||||
检查响应中的 `database` 和 `redis.ready`。配置了 Redis 连接串但服务未启动时,readiness 会返回 503。
|
||||
|
||||
### API 出现 HTTPS 重定向警告
|
||||
|
||||
|
||||
Reference in New Issue
Block a user