博客
关于我
轻课系统设计
阅读量: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/

    你可能感兴趣的文章
    Numpy.ndarray对象不可调用
    查看>>
    Numpy.VisibleDeproationWarning:从不整齐的嵌套序列创建ndarray
    查看>>
    Numpy:按多个条件过滤行?
    查看>>
    Numpy:条件总和
    查看>>
    numpy、cv2等操作图片基本操作
    查看>>
    numpy中的argsort的用法
    查看>>
    NumPy中的精度:比较数字时的问题
    查看>>
    numpy判断对应位置是否相等,all、any的使用
    查看>>
    Numpy多项式.Polynomial.fit()给出的系数与多项式.Polyfit()不同
    查看>>
    Numpy如何使用np.umprod重写range函数中i的python
    查看>>
    numpy学习笔记3-array切片
    查看>>
    numpy数组替换其中的值(如1替换为255)
    查看>>
    numpy数组索引-ChatGPT4o作答
    查看>>
    NUMPY矢量化np.prod不能构造具有超过32个操作数的ufunc
    查看>>
    Numpy矩阵与通用函数
    查看>>
    numpy绘制热力图
    查看>>
    numpy转PIL 报错TypeError: Cannot handle this data type
    查看>>
    Numpy闯关100题,我闯了95关,你呢?
    查看>>
    nump模块
    查看>>
    Nutch + solr 这个配合不错哦
    查看>>