【解決方案】智慧物聯(lián)網(wǎng)在線課堂系統(tǒng)
1. 項目概述
- 目標:搭建一個面向全球?qū)W習者與中文教師的在線一對一/小班課教學平臺,支持預(yù)約/即時上課、AI 課程生成與口語陪練、錄制回放、支付訂閱、評價反饋等全流程。
- 技術(shù)路線:后端采用 Spring Cloud 微服務(wù) 架構(gòu),容器化部署到 Kubernetes,面向多端(Web、iOS/Android)統(tǒng)一暴露 API 網(wǎng)關(guān);音視頻用 WebRTC/第三方服務(wù);AI 課程&口語陪練通過 LLM 推理服務(wù)(接三方)。
- 目標 SLO:P95 接口 < 300ms、99.9% 月可用性、核心交易鏈路失敗率 < 0.1%。

2. 需求詳述(產(chǎn)品視角 → 可交付能力)
2.1 學習者側(cè)
- 賬號體系:郵箱/手機號/三方登錄(OAuth)注冊登錄;個人資料、學習目標、水平與興趣標簽;學習檔案(歷史課程、進度、評價、筆記、發(fā)票/賬單)。
- 課程發(fā)現(xiàn):教師多維篩選(語言、領(lǐng)域、風格、價格、評級、可用時間);推薦位(基于偏好/歷史/轉(zhuǎn)化);教師詳情(視頻、評價、可預(yù)約時間)。
- 預(yù)約/即刻上課:即時連接在線教師;預(yù)約單次/周期課;課前提醒、沖突校驗、時區(qū)適配;取消與退款策略。
- 課堂:一對一/小組課高清音視頻、互動白板/屏幕共享/文檔協(xié)作/實時標注;錄制回放;AI 實時/課后轉(zhuǎn)寫與要點總結(jié)、練習生成。
- 作業(yè)與計劃:布置-提交-批改;個性化學習計劃與進度可視化。
- AI 能力:【待定/可對接LLM】
- AI 課程預(yù)習包:按水平/話題/語法點/場景自動生成生詞、句型、對話、發(fā)音與跟讀、測評;
- AI 口語陪練:基于預(yù)習內(nèi)容進行對話練習、糾錯、點評與錯題本。
- 支付與訂閱:套餐訂閱、按次付費、禮品卡、多幣種與多支付渠道、發(fā)票、退款與風控。
- 社區(qū)與內(nèi)容:學習社區(qū)、語言伙伴匹配、文化內(nèi)容、線上活動。
2.2 教師側(cè)
- 入駐與認證:資料、資質(zhì)上傳、視頻面試、培訓/考核。
- 主頁與供給:教學視頻、特色標簽、授課科目/價格/時段設(shè)置。
- 教學管理:課表、學生管理、收入統(tǒng)計、素材庫;課后反饋與評分互動;提現(xiàn)與稅務(wù)信息。
2.3 平臺側(cè)(運營/風控/監(jiān)控)
- 質(zhì)量監(jiān)控與投訴處理、教師準入與評級、內(nèi)容審核;
- 交易/退款/分賬、對賬與結(jié)算;
- 數(shù)據(jù)分析(轉(zhuǎn)化、留存、ARPU、GMV、課程質(zhì)量分)。
3. 總體架構(gòu)(Spring Cloud)
[客戶端 Web/iOS/Android]
│
[API Gateway]
│
┌───────────────平臺基礎(chǔ)服務(wù)────────────────┐
│ Config Server | Service Registry (Eureka/Nacos)│
│ Auth & OAuth2 | Circuit Breaker (Resilience4j) │
│ API Docs (SpringDoc) | Tracing (OTel) │
└────────────────────────────────────────────────┘
│
┌────────────────────────業(yè)務(wù)微服務(wù)────────────────────────┐
│ 用戶/賬號 | 教師 | 學習者檔案 | 課程與排程 | 預(yù)約/日歷 │
│ 教室/RTC | 白板協(xié)作 | 作業(yè) | 支付/訂閱/結(jié)算 | 發(fā)票/對賬 │
│ 評價反饋 | 通知(站內(nèi)/郵件/短信/Push) | 搜索與推薦 │
│ AI-內(nèi)容生成 | AI-口語陪練 | 內(nèi)容與教材 | 社區(qū)與活動 │
└────────────────────────────────────────────────────────┘
│
┌───────────數(shù)據(jù)與中臺───────────┐
│ PostgreSQL | Redis | Kafka/RabbitMQ | S3/OSS | ES/OpenSearch │
│ Feature Store(推薦) | Data Lake/ETL | Spark/Flink(離/實時) │
└─────────────────────────────────────┘
│
第三方:WebRTC/第三方、支付(Stripe/PayPal/Alipay/WeChat Pay)、
郵件(SendGrid/Mailgun)、客服(Zendesk)、埋點(Mixpanel/GA)
4. 微服務(wù)拆分與職責(建議首期 14 個,可演進)
- auth-service:登錄注冊、JWT/OAuth2、SAML/社交登錄;驗證碼/設(shè)備指紋;權(quán)限與角色。
- user-profile-service:用戶/教師統(tǒng)一賬戶、資料、偏好、合規(guī)(GDPR/未成年人)。
- teacher-service:入駐認證、主頁、可授課程與時段、評級、收入與結(jié)算指標。
- learner-service:學習檔案、能力評測、學習計劃與可視化、筆記與標簽。
- course-service:課程定義(類型、價格、小班容量)、教材綁定、系列課/專題課。
- schedule-service:可用時段、預(yù)約/改期/取消、時區(qū)算法、沖突檢測、提醒。
- classroom-service:教室編排、WebRTC/第三方 會話、錄制、回放索引;白板與協(xié)作網(wǎng)關(guān)。
- homework-service:作業(yè)、提交、批改、評分、AI 輔助批改。
- payment-service:訂閱/按次/優(yōu)惠券/禮品卡;支付路由、退款、分賬、對賬、稅務(wù)發(fā)票。
- review-service:課程/教師評價、申訴與屏蔽、內(nèi)容審核。
- notification-service:站內(nèi)信/郵件/短信/Push;多語言模板與 A/B。
- search-reco-service:檢索(ES)、召回/排序、特征埋點與特征倉;個性化推薦。
- ai-content-service:AI 課程預(yù)習包生成、轉(zhuǎn)寫總結(jié)與練習生成;模型路由與緩存。
- ai-speaking-buddy-service:口語陪練會話編排、評分與錯題本、對話上下文存儲。
橫切:file-service(S3/OSS)、reporting-service(BI 指標聚合)、admin-ops-service(運營后臺)。
5. 關(guān)鍵業(yè)務(wù)流程(時序簡述)
5.1 學員預(yù)約課
- 學員在前端篩選教師 → 2) 調(diào)用 search-reco 獲取列表 → 3) 點進教師頁調(diào)用 teacher + schedule 拉取空閑時段
- 學員選擇時段 → 5) schedule 進行沖突校驗/鎖槽 → 6) 如付費課調(diào)用 payment 創(chuàng)建支付意圖 → 7) 支付成功 → 8) 生成預(yù)約單&提醒 → 9) 課前 10 分鐘通知課堂入口(classroom)。
5.2 即時上課
- 學員進入“即刻上課” → 2) teacher 返回在線可接單老師 → 3) classroom 為雙方分配 RTC 房間 → 4) 結(jié)束后 ai-content 觸發(fā)轉(zhuǎn)寫與總結(jié) → 5) review 評價。
5.3 AI 課程預(yù)習包
- 教師/學員選擇級別/主題/語法點 → 2) ai-content 調(diào)用 LLM 生成(含詞句/對話/音頻 TTS/測評項) → 3) 入庫并可分享給課堂。
5.4 AI 口語陪練
- 學員選擇預(yù)習包 → 2) ai-speaking-buddy 基于內(nèi)容開展多輪對話 → 3) 實時糾錯與評分 → 4) 課后生成錯題本與要點回顧。
5.5 支付
A. 按次/套餐支付(同步+異步)
POST /payments/orders(校驗業(yè)務(wù)、凍結(jié)時段/庫存→下單)- 風控打分(設(shè)備指紋、IP、風險名單、頻控)→ allow/review/deny
POST /payments/{orderId}/pay→ 調(diào)用通道創(chuàng)建 PaymentIntent/預(yù)下單- 前端完成支付(H5/Cashier/SDK)
- Webhook 命中 → 驗簽→ 冪等 → 更新
payment_order& 寫入payment_transaction - 成功后發(fā)布事件
payment.success(Kafka)→ schedule 確認預(yù)約、classroom 生成入場券、notification 發(fā)送憑證 - 失敗/取消 → 釋放鎖槽/庫存
B. 訂閱(自動續(xù)費/失敗重試)
- 模型:
subscription(id, user_id, plan_id, status, current_period_start/end, cancel_at) - 續(xù)費策略:D0、D1、D3 重試(階梯換通道);失敗最終轉(zhuǎn) PAST_DUE 并降級權(quán)益。
- 升降級按差額/按天折算(prorate),生成調(diào)整單據(jù)與分錄。
C. 退款(全額/部分)
- 觸發(fā):用戶取消/老師缺席/質(zhì)量問題/風控拒付;
- 流程:
POST /payments/{orderId}/refund(可多次部分退款)→ 調(diào)用通道 → webhook 確認 →payment_transaction記 REFUND → 賬本紅沖。 - 規(guī)則引擎:時間窗(上課前/后)、最低退款額、手續(xù)費承擔方。
D. 分賬與提現(xiàn)(教師)
- 實時分賬或 T+N 批量結(jié)算(推薦):
- 收入構(gòu)成:學費(含匯率)、平臺傭金、支付通道費、稅、活動補貼。
- 結(jié)算批:
payout_batch(period=YYYY-MM)每日或每周滾動預(yù)覽,月度出帳。
- 提現(xiàn):支持銀行/PayPal/Stripe Connect,提現(xiàn)前做 KYC/KYB 審核與制裁名單校驗(OFAC/國別規(guī)則)。
E. 對賬(三方/內(nèi)部)
- 內(nèi)部對賬:
payment_transaction?ledger_entry(1:≥1)保證平衡。 - 外部對賬:按通道拉取對賬單(API/文件),生成
reconciliation_result,自動匹配差異:漏單、重復(fù)記賬、金額不符、匯率偏差;可人工復(fù)核。 - 異常自動開工單(
admin-ops-service)并回寫處理結(jié)果。
6. 技術(shù)選型(Spring Cloud 生態(tài))
- 網(wǎng)關(guān):Spring Cloud Gateway + Redis RateLimiter
- 注冊配置:Nacos(或 Eureka+Spring Cloud Config)
- 通信:OpenFeign(內(nèi)網(wǎng))、gRPC(性能敏感鏈路可選)
- 熔斷限流:Resilience4j
- 消息:Kafka(業(yè)務(wù)事件/日志)、RabbitMQ(事務(wù)消息/延遲任務(wù))
- 數(shù)據(jù):PostgreSQL(主業(yè)務(wù))、Redis(緩存/會話/隊列)、ES(檢索)、S3/OSS(錄制與素材)
- 安全:Spring Security OAuth2、Keycloak(可選統(tǒng)一認證)、Vault(密鑰)
- 可觀測:Micrometer + OpenTelemetry → Tempo/Jaeger(Trace)、Prometheus(Metrics)、Loki(Log)、Grafana(看板)
- DevOps:K8s(HPA/PodDisruptionBudget/NodeAffinity)、ArgoCD/GitOps、GitHub Actions/Jenkins
- 前端:Web(React+TS)、移動(Flutter/React Native);課堂端集成 WebRTC/第三方 SDK
- AI:LLM 網(wǎng)關(guān)(自研/云廠商,支持多模型路由與敏感詞審查);TTS/ASR(可選科大訊飛/Google/Whisper)
7. 第三方集成與邊界
- 音視頻/白板:優(yōu)先采用 第三方 套件(RTC、錄制、白板);
- 支付:面向全球(Stripe/PayPal)+ 中國區(qū)(Alipay/WeChat Pay);統(tǒng)一支付路由與風控層。
- 消息/郵件:SendGrid/Mailgun、Twilio/阿里云短信;多語言模板。
- 在線客服:美恰。
8. 安全與合規(guī)
- 合規(guī):GDPR/CCPA、未成年人保護、數(shù)據(jù)跨境(分區(qū)部署與最小化傳輸);內(nèi)容與言論審核。
- 安全:OAuth2/OIDC、MFA、IP/設(shè)備指紋、惡意登錄/盜刷防控;
- 隱私:錄制加密存儲(KMS)、URL 限時簽名;最小權(quán)限訪問(RBAC & ABAC)。
- 課堂風控:實時違規(guī)檢測(音頻/文本);異常拉黑與申訴流程。
9. SRE 與容量規(guī)劃【根據(jù)成本待定】
- 彈性:K8s HPA 基于 CPU/QPS/自定義指標;RTC 服務(wù)獨立節(jié)點池。
- 緩存策略:熱點教師與時段緩存、推薦結(jié)果短期緩存、支付結(jié)果以“消息驅(qū)動+補償”。
- 容災(zāi):多可用區(qū)部署;核心數(shù)據(jù)庫主從+PITR;對象存儲跨區(qū)域復(fù)制;消息隊列冗余。
- 灰度:網(wǎng)關(guān)級流量分配、金絲雀與 A/B;熔斷降級(AI 與推薦優(yōu)先降級)。
10. 開發(fā)周期和成本
1. 微服務(wù)+單網(wǎng)關(guān)+常規(guī)load balance
周期:4個月
成本:40w
2. K8S POD集群
周期:5個月
成本:50w+