博客
关于我
轻课系统设计
阅读量:415 次
发布时间:2019-03-06

本文共 1178 字,大约阅读时间需要 3 分钟。

在家隔离两个月,生活确实发生了变化。胖了一圈虽然不太愿意承认,但也带来了新的关注点。通过这段时间的在家办公经历,我深刻体会到了内容电商的潜力。内容电商不仅仅是电商的下一个风口,更是连接消费者与价值的桥梁。

业务需求

电子商务行业正经历着前所未有的变革。购物便利性和消费民主化带来的改变,让电子商务迎来了新的发展机遇。内容电商作为下一个风口,正在重新定义电商的未来。

教育领域一直是稳健的投资领域。猿辅导、学而思等品牌的成功证明了教育内容的市场价值。如何在内容电商时代把握教育行业的机遇,是我们需要深入思考的问题。

技术实现

系统架构设计是技术实现的基础。我们采用了以下方案:

  • 数据存储

    • 基本数据存储于MySQL。
    • 不规则数据(如题目、楼层数据)存储于MongoDB。
    • 记录类型数据存储于ES(Elasticsearch)。
  • 缓存机制

    • 使用Redis分布式缓存和内存缓存。
    • 定时从Redis刷新内存缓存。
    • 更新方式支持MQ异步刷新和直接方法调用同步刷新。
    • Redis连接池参数优化至关重要。
  • 服务调用

    • 使用Dubbo进行服务调用。
    • 注意设置合理的超时时间和重试次数。
  • 网关设计

    • 业务网关负责身份认证、统一日志处理和异常处理。
  • 配置管理

    • 采用携程Apollo或阿里Nacos。
  • 框架选择

    • MyBatis Plus提供了极大的便利性,自动生成和简化SQL编写。
  • 第三方服务

    • 使用阿里云CND、OSS、MQ等服务。
    • 腾讯云提供语音识别和环信等工具。
  • 数据库设计

    数据库设计需要根据业务特点进行优化:

  • 音视频处理

    • 音视频需加密,上传前按要求压缩。
    • 文档和音视频资源文件较多,建议客户端提前下载。
  • 课程订单

    • 两种订单类型:虚拟商品订单和实物商品订单。
    • 实物订单需考虑运费和物流信息。
  • 题目数据

    • 题目类型众多,答案固定,适合存储于MongoDB。
  • 首页数据

    • 楼层数据推荐使用MongoDB。
  • 用户行为数据

    • 答题记录、课程学习记录存储于ElasticSearch,支持快速检索。
  • 数据处理

    • 单元小结、学习报告等数据可通过实时计算平台处理。
  • 性能优化

    • 维护好缓存关系,避免长调用链。
    • 使用Pinpoint分析调用链路。
  • 工具与协作

    选择合适的工具对项目进展至关重要:

  • 协作平台

    • 钉钉必备,语雀适合知识库管理。
    • Worktile适合敏捷开发,替代Jira。
  • 文档管理

    • 石墨文档和MindLinker适合协作和会议。
  • 接口管理

    • Yapi提供可视化接口管理,替代Swagger。
  • 开发建议

    在开发过程中需要注意:

  • 数据埋点

    • 及时埋点,避免上线后才发现数据收集问题。
  • 版本管理

    • 接口要有明确的版本标识。
  • 问题处理

    • 及时发现并解决阻塞性问题。
  • 最后,多次压测是确保系统稳定性的重要手段。

    以上内容只是我的个人理解和实践经验,欢迎大家交流和讨论。

    转载地址:http://umqkz.baihongyu.com/

    你可能感兴趣的文章
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    NodeJS 的环境变量: 开发环境vs生产环境
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>
    NodeJs——(11)控制权转移next
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    nodejs下的express安装
    查看>>
    nodejs与javascript中的aes加密
    查看>>
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>
    nodejs中express的使用
    查看>>
    Nodejs中搭建一个静态Web服务器,通过读取文件获取响应类型
    查看>>
    Nodejs中的fs模块的使用
    查看>>
    NodeJS使用淘宝npm镜像站的各种姿势
    查看>>