【解决方案】智慧物联网在线课堂系统

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 个,可演进)

  1. auth-service:登录注册、JWT/OAuth2、SAML/社交登录;验证码/设备指纹;权限与角色。
  2. user-profile-service:用户/教师统一账户、资料、偏好、合规(GDPR/未成年人)。
  3. teacher-service:入驻认证、主页、可授课程与时段、评级、收入与结算指标。
  4. learner-service:学习档案、能力评测、学习计划与可视化、笔记与标签。
  5. course-service:课程定义(类型、价格、小班容量)、教材绑定、系列课/专题课。
  6. schedule-service:可用时段、预约/改期/取消、时区算法、冲突检测、提醒。
  7. classroom-service:教室编排、WebRTC/第三方 会话、录制、回放索引;白板与协作网关。
  8. homework-service:作业、提交、批改、评分、AI 辅助批改。
  9. payment-service:订阅/按次/优惠券/礼品卡;支付路由、退款、分账、对账、税务发票。
  10. review-service:课程/教师评价、申诉与屏蔽、内容审核。
  11. notification-service:站内信/邮件/短信/Push;多语言模板与 A/B。
  12. search-reco-service:检索(ES)、召回/排序、特征埋点与特征仓;个性化推荐。
  13. ai-content-service:AI 课程预习包生成、转写总结与练习生成;模型路由与缓存。
  14. ai-speaking-buddy-service:口语陪练会话编排、评分与错题本、对话上下文存储。

横切:file-service(S3/OSS)、reporting-service(BI 指标聚合)、admin-ops-service(运营后台)。

5. 关键业务流程(时序简述)

5.1 学员预约课

  1. 学员在前端筛选教师 → 2) 调用 search-reco 获取列表 → 3) 点进教师页调用 teacher + schedule 拉取空闲时段
  2. 学员选择时段 → 5) schedule 进行冲突校验/锁槽 → 6) 如付费课调用 payment 创建支付意图 → 7) 支付成功 → 8) 生成预约单&提醒 → 9) 课前 10 分钟通知课堂入口(classroom)。

5.2 即时上课

  1. 学员进入“即刻上课” → 2) teacher 返回在线可接单老师 → 3) classroom 为双方分配 RTC 房间 → 4) 结束后 ai-content 触发转写与总结 → 5) review 评价。

5.3 AI 课程预习包

  1. 教师/学员选择级别/主题/语法点 → 2) ai-content 调用 LLM 生成(含词句/对话/音频 TTS/测评项) → 3) 入库并可分享给课堂。

5.4 AI 口语陪练

  1. 学员选择预习包 → 2) ai-speaking-buddy 基于内容开展多轮对话 → 3) 实时纠错与评分 → 4) 课后生成错题本与要点回顾。

5.5 支付

A. 按次/套餐支付(同步+异步)

  1. POST /payments/orders(校验业务、冻结时段/库存→下单)
  2. 风控打分(设备指纹、IP、风险名单、频控)→ allow/review/deny
  3. POST /payments/{orderId}/pay → 调用通道创建 PaymentIntent/预下单
  4. 前端完成支付(H5/Cashier/SDK)
  5. Webhook 命中 → 验签→ 幂等 → 更新 payment_order & 写入 payment_transaction
  6. 成功后发布事件 payment.success(Kafka)→ schedule 确认预约、classroom 生成入场券、notification 发送凭证
  7. 失败/取消 → 释放锁槽/库存

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+

相关新闻

在线沟通
客服微信
客服微信
在线咨询
联系我们

联系我们

400-103-7662

售前咨询邮箱:
sales@king-v.com

工作时间:
法定工作日 9:00-18:00

返回顶部