@startuml 职来mydreamjob_产品开发方案_架构图 ' ========================= ' 职来(mydreamjob)产品开发方案 — 架构图 ' ========================= title 职来(mydreamjob)产品开发方案 - 总体架构 skinparam rectangle { BackgroundColor<> #E3F2FD BackgroundColor<> #FFF3E0 BackgroundColor<> #E8F5E9 BackgroundColor<> #FCE4EC BackgroundColor<> #F3E5F5 BorderColor #455A64 FontStyle bold } skinparam defaultTextAlignment center skinparam componentStyle rectangle skinparam note { BackgroundColor #FFFDE7 BorderColor #F57F17 } ' ---------- 客户端层 ---------- package "客户端层" { [Android App] as Android <> [iOS App] as iOS <> } ' ---------- 跨端框架(核心差异化) ---------- rectangle "Flutter 3 跨端\n(一套代码出双端)" <> as Flutter Android -[hidden]right- iOS Android -down- Flutter : 渲染 iOS -down- Flutter : 渲染 ' ---------- API 网关 ---------- rectangle "API 网关 / Nginx" <> as Gateway Flutter -down- Gateway : HTTPS / JSON Android -down- Gateway : HTTPS / JSON iOS -down- Gateway : HTTPS / JSON ' ---------- 应用层 ---------- package "应用服务层 (Spring Boot 3.x · Java 17)" <> { rectangle "Spring Security\n(JWT 鉴权 / RBAC 权限)" as Security rectangle "业务服务\n账号/档案/企业/岗位/投递/沟通" as Biz rectangle "ranking 评价排名引擎\n(异步批算)" as Ranking <> rectangle "AI 适配层\n(模型调用/降级/成本控制)" as AI rectangle "运营后台 API" as Admin note right of Ranking 核心差异化模块 end note Security -[hidden]down- Biz Biz -[hidden]down- Ranking Ranking -[hidden]down- AI AI -[hidden]down- Admin } Gateway -down- Security : 路由转发 Security -down- Biz : 鉴权后 Biz -down- Ranking : 调用 Biz -down- AI : 调用 Admin -up- Biz : 读写 ' ---------- 数据层 ---------- package "数据存储层" <> { database "MySQL 8\n主数据" as MySQL database "Redis\n缓存 / 限流" as Redis queue "RabbitMQ\n异步队列" as MQ storage "MinIO / S3\n文件存储" as OSS } Biz -down- MySQL : CRUD Biz -down- Redis : 缓存 / 限流 Ranking -down- MQ : 异步批算任务 Biz -down- OSS : 简历 / 图片 AI -down- Redis : 限流 / 缓存 Admin -down- MySQL : 读写 @enduml