总体架构
Passport 由 3 个应用、11 个服务、3 个 worker、4 个共享库组成;对外只有两个 HTTP 边界,其余一切通信走 NATS。
设计原则
- 业务服务不暴露 HTTP:所有服务间调用走 NATS request-reply;
api_service是唯一的内部 HTTP 边界并覆盖全部服务接口。 - service → worker 只走流:工作通过 JetStream 事件投递,worker 是异步消费者,不服务任何同步请求;worker 落库自己消费的结果。
- 敏感中间态不出所属服务:OTP、验证码、尝试状态、支付敏感数据一律以不透明工单(Ticket)传递,回源校验消费。
- 配置按子项目隔离:每个子项目独立
.env,根目录只做组织与共享配置。