架构

Autional 由 27 个可独立部署的 Go 微服务组成,采用 4 层架构并配备一个横切层。

第 1 层:基础层

层模块用途
base/base/error, base/config, base/idgen零依赖基础库:错误处理、配置加载、ID 生成
util/util/jwt, util/random, util/retry外部依赖极少的工具库

第 2 层:基础设施层

模块集成端口
infra-client/gormPostgreSQL, MySQL5432
infra-client/redisRedis, Valkey6379
infra-client/messagequeueRabbitMQ, Kafka5672

第 3 层:领域层

共享领域模型位于 micro-share/,中间件位于 micro-middleware/。

  • middleware:认证(JWT/IP 白名单)、应用启动引导、gRPC 工厂、错误处理、审计、租户解析
  • shared:领域事件(550+ 种事件类型)、RBAC、ABAC、ReBAC、PIM、合规、钱包、计费、通知

第 4 层:业务服务(27 个)

Identity (11001)
Profile (11002)
Tenant (11003)
Session (11004)
MFA (11005)
OAuth (11006)
Config (11007)
Wallet (11011)
Point (11012)
Audit (11013)
Notification (11014)
Communication (11015)
Storage (11016)
Billing (11017)
Compliance (11018)
Status (11019)
Secret (11020)
SAML (11021)
Pay (11022)
Thirdparty (11023)
Verification (11024)
RBAC (11025)
Captcha3D (11028)
Stream (11029)
Gateway (11080)
Hash-standard (gRPC)
Hash-sm (gRPC)

横切层

cross/registry/ —— 端口、错误码、事件名、表名、RBAC 权限。所有服务都依赖该层。