【解决方案】智慧物联网在线课堂系统
1. 项目概述
- 目标:搭建一个面向全球学习者与中文教师的在线一对一/小班课教学平台,支持预约/即时上课、AI 课程生成与口语陪练、录制回放、支付订阅、评价反馈等全流程。
- 技术路线:后端采用 Spring Cloud 微服务 架构,容器化部署到 Kubernetes,面向多端(Web、iOS/Android)统一暴露 API 网关;音视频用 WebRTC/第三方服务;AI 课程&口语陪练通过 LLM 推理服务(接三方)。
- 目标 SLO:P95 接口 < 300ms、99.9% 月可用性、核心交易链路失败率 < 0.1%。

2. 需求详述(产品视角 → 可交付能力)
2.1 学习者侧
- 账号体系:邮箱/手机号/三方登录(OAuth)注册登录;个人资料、学习目标、水平与兴趣标签;学习档案(历史课程、进度、评价、笔记、发票/账单)。
- 课程发现:教师多维筛选(语言、领域、风格、价格、评级、可用时间);推荐位(基于偏好/历史/转化);教师详情(视频、评价、可预约时间)。
- 预约/即刻上课:即时连接在线教师;预约单次/周期课;课前提醒、冲突校验、时区适配;取消与退款策略。
- 课堂:一对一/小组课高清音视频、互动白板/屏幕共享/文档协作/实时标注;录制回放;AI 实时/课后转写与要点总结、练习生成。
- 作业与计划:布置-提交-批改;个性化学习计划与进度可视化。
- AI 能力:【待定/可对接LLM】
- AI 课程预习包:按水平/话题/语法点/场景自动生成生词、句型、对话、发音与跟读、测评;
- AI 口语陪练:基于预习内容进行对话练习、纠错、点评与错题本。
- 支付与订阅:套餐订阅、按次付费、礼品卡、多币种与多支付渠道、发票、退款与风控。
- 社区与内容:学习社区、语言伙伴匹配、文化内容、线上活动。
2.2 教师侧
- 入驻与认证:资料、资质上传、视频面试、培训/考核。
- 主页与供给:教学视频、特色标签、授课科目/价格/时段设置。
- 教学管理:课表、学生管理、收入统计、素材库;课后反馈与评分互动;提现与税务信息。
2.3 平台侧(运营/风控/监控)
- 质量监控与投诉处理、教师准入与评级、内容审核;
- 交易/退款/分账、对账与结算;
- 数据分析(转化、留存、ARPU、GMV、课程质量分)。
3. 总体架构(Spring Cloud)
[客户端 Web/iOS/Android]
│
[API Gateway]
│
┌───────────────平台基础服务────────────────┐
│ Config Server | Service Registry (Eureka/Nacos)│
│ Auth & OAuth2 | Circuit Breaker (Resilience4j) │
│ API Docs (SpringDoc) | Tracing (OTel) │
└────────────────────────────────────────────────┘
│
┌────────────────────────业务微服务────────────────────────┐
│ 用户/账号 | 教师 | 学习者档案 | 课程与排程 | 预约/日历 │
│ 教室/RTC | 白板协作 | 作业 | 支付/订阅/结算 | 发票/对账 │
│ 评价反馈 | 通知(站内/邮件/短信/Push) | 搜索与推荐 │
│ AI-内容生成 | AI-口语陪练 | 内容与教材 | 社区与活动 │
└────────────────────────────────────────────────────────┘
│
┌───────────数据与中台───────────┐
│ 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. 微服务拆分与职责(建议首期 14 个,可演进)
- auth-service:登录注册、JWT/OAuth2、SAML/社交登录;验证码/设备指纹;权限与角色。
- user-profile-service:用户/教师统一账户、资料、偏好、合规(GDPR/未成年人)。
- teacher-service:入驻认证、主页、可授课程与时段、评级、收入与结算指标。
- learner-service:学习档案、能力评测、学习计划与可视化、笔记与标签。
- course-service:课程定义(类型、价格、小班容量)、教材绑定、系列课/专题课。
- schedule-service:可用时段、预约/改期/取消、时区算法、冲突检测、提醒。
- classroom-service:教室编排、WebRTC/第三方 会话、录制、回放索引;白板与协作网关。
- homework-service:作业、提交、批改、评分、AI 辅助批改。
- payment-service:订阅/按次/优惠券/礼品卡;支付路由、退款、分账、对账、税务发票。
- review-service:课程/教师评价、申诉与屏蔽、内容审核。
- notification-service:站内信/邮件/短信/Push;多语言模板与 A/B。
- search-reco-service:检索(ES)、召回/排序、特征埋点与特征仓;个性化推荐。
- ai-content-service:AI 课程预习包生成、转写总结与练习生成;模型路由与缓存。
- ai-speaking-buddy-service:口语陪练会话编排、评分与错题本、对话上下文存储。
横切:file-service(S3/OSS)、reporting-service(BI 指标聚合)、admin-ops-service(运营后台)。
5. 关键业务流程(时序简述)
5.1 学员预约课
- 学员在前端筛选教师 → 2) 调用 search-reco 获取列表 → 3) 点进教师页调用 teacher + schedule 拉取空闲时段
- 学员选择时段 → 5) schedule 进行冲突校验/锁槽 → 6) 如付费课调用 payment 创建支付意图 → 7) 支付成功 → 8) 生成预约单&提醒 → 9) 课前 10 分钟通知课堂入口(classroom)。
5.2 即时上课
- 学员进入“即刻上课” → 2) teacher 返回在线可接单老师 → 3) classroom 为双方分配 RTC 房间 → 4) 结束后 ai-content 触发转写与总结 → 5) review 评价。
5.3 AI 课程预习包
- 教师/学员选择级别/主题/语法点 → 2) ai-content 调用 LLM 生成(含词句/对话/音频 TTS/测评项) → 3) 入库并可分享给课堂。
5.4 AI 口语陪练
- 学员选择预习包 → 2) ai-speaking-buddy 基于内容开展多轮对话 → 3) 实时纠错与评分 → 4) 课后生成错题本与要点回顾。
5.5 支付
A. 按次/套餐支付(同步+异步)
POST /payments/orders(校验业务、冻结时段/库存→下单)- 风控打分(设备指纹、IP、风险名单、频控)→ allow/review/deny
POST /payments/{orderId}/pay→ 调用通道创建 PaymentIntent/预下单- 前端完成支付(H5/Cashier/SDK)
- Webhook 命中 → 验签→ 幂等 → 更新
payment_order& 写入payment_transaction - 成功后发布事件
payment.success(Kafka)→ schedule 确认预约、classroom 生成入场券、notification 发送凭证 - 失败/取消 → 释放锁槽/库存
B. 订阅(自动续费/失败重试)
- 模型:
subscription(id, user_id, plan_id, status, current_period_start/end, cancel_at) - 续费策略:D0、D1、D3 重试(阶梯换通道);失败最终转 PAST_DUE 并降级权益。
- 升降级按差额/按天折算(prorate),生成调整单据与分录。
C. 退款(全额/部分)
- 触发:用户取消/老师缺席/质量问题/风控拒付;
- 流程:
POST /payments/{orderId}/refund(可多次部分退款)→ 调用通道 → webhook 确认 →payment_transaction记 REFUND → 账本红冲。 - 规则引擎:时间窗(上课前/后)、最低退款额、手续费承担方。
D. 分账与提现(教师)
- 实时分账或 T+N 批量结算(推荐):
- 收入构成:学费(含汇率)、平台佣金、支付通道费、税、活动补贴。
- 结算批:
payout_batch(period=YYYY-MM)每日或每周滚动预览,月度出帐。
- 提现:支持银行/PayPal/Stripe Connect,提现前做 KYC/KYB 审核与制裁名单校验(OFAC/国别规则)。
E. 对账(三方/内部)
- 内部对账:
payment_transaction↔ledger_entry(1:≥1)保证平衡。 - 外部对账:按通道拉取对账单(API/文件),生成
reconciliation_result,自动匹配差异:漏单、重复记账、金额不符、汇率偏差;可人工复核。 - 异常自动开工单(
admin-ops-service)并回写处理结果。
6. 技术选型(Spring Cloud 生态)
- 网关:Spring Cloud Gateway + Redis RateLimiter
- 注册配置:Nacos(或 Eureka+Spring Cloud Config)
- 通信:OpenFeign(内网)、gRPC(性能敏感链路可选)
- 熔断限流:Resilience4j
- 消息:Kafka(业务事件/日志)、RabbitMQ(事务消息/延迟任务)
- 数据:PostgreSQL(主业务)、Redis(缓存/会话/队列)、ES(检索)、S3/OSS(录制与素材)
- 安全:Spring Security OAuth2、Keycloak(可选统一认证)、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 网关(自研/云厂商,支持多模型路由与敏感词审查);TTS/ASR(可选科大讯飞/Google/Whisper)
7. 第三方集成与边界
- 音视频/白板:优先采用 第三方 套件(RTC、录制、白板);
- 支付:面向全球(Stripe/PayPal)+ 中国区(Alipay/WeChat Pay);统一支付路由与风控层。
- 消息/邮件:SendGrid/Mailgun、Twilio/阿里云短信;多语言模板。
- 在线客服:美恰。
8. 安全与合规
- 合规:GDPR/CCPA、未成年人保护、数据跨境(分区部署与最小化传输);内容与言论审核。
- 安全:OAuth2/OIDC、MFA、IP/设备指纹、恶意登录/盗刷防控;
- 隐私:录制加密存储(KMS)、URL 限时签名;最小权限访问(RBAC & ABAC)。
- 课堂风控:实时违规检测(音频/文本);异常拉黑与申诉流程。
9. SRE 与容量规划【根据成本待定】
- 弹性:K8s HPA 基于 CPU/QPS/自定义指标;RTC 服务独立节点池。
- 缓存策略:热点教师与时段缓存、推荐结果短期缓存、支付结果以“消息驱动+补偿”。
- 容灾:多可用区部署;核心数据库主从+PITR;对象存储跨区域复制;消息队列冗余。
- 灰度:网关级流量分配、金丝雀与 A/B;熔断降级(AI 与推荐优先降级)。
10. 开发周期和成本
1. 微服务+单网关+常规load balance
周期:4个月
成本:40w
2. K8S POD集群
周期:5个月
成本:50w+