Skip to content

总体规划

系统架构

  1. DB拆分

    保障DB出现单点故障不影响全局业务。

  2. 订单重构

    • 订单库表切换到mysql
    • 订单功能整体收进微服务
  3. 关键路径稳定性改造

    见系统去单点

  4. 主要模块微服务化

    主要模块:订单、采购、分拣、商品、账户(含session)、其他

  5. 异步消息系统

    未来消息系统成为我们系统的关键依赖模块,需要进一步升级。

  6. 模块业务拆分

    目前大量业务集中在一个web模块,增加了稳定性风险,需要拆分成不同业务模块。

  7. 南北双中心

    • 在北方增加一个机房部署,使得北方客户的访问更快。
    • 北方中心使用阿里或者其他云,待考察。
    • 南北中心可以互相同步数据,在一个中心出现故障后,可以快速切换到另一个中心继续服务。

系统去单点

  1. dns去单点

    暂时依赖腾讯云,长线考虑多套dns部署。

  2. nginx去单点

    • 每个业务有自己的nginx
    • 每个业务部署多个nginx
  3. 大模块业务拆分

    见系统架构

  4. 模块去单点

    1. 模块本身需要按照客户隔离,避免单客户故障影响全局。
    2. 单个模块需要多份部署,以实现故障自动隔离。
  5. 可选依赖失效不影响主流程

    针对一些可选组件:异步,微信支付,或者我们判断为可旁路的模块。要做到挂掉后不影响主流程运行。

  6. 数据库去单点

    DB拆分项目。

业务优化

  1. 重点对象版本化

    解决长期以来没有版本化导致的各种问题。商品库、供应商。

  2. 接口访问权限校验

    解决接口访问没有校验用户或者站点的漏洞

系统性能

  1. 长耗时接口优化
  2. 数据库慢查询
  3. 10x性能测试

系统质量

  1. 基础服务框架
  2. 持续集成

    • 测试回归
    • 代码风格校验
    • 最佳实践校验
  3. 自动化文档

    自动扫描并生成DB与接口文档。

  4. 整理最佳实践

    • 数据库
    • python
    • 微服务

年底deadline

  1. DB拆分
  2. 关键路径稳定性改造
  3. 订单重构
  4. 腾讯云数据备份
  5. 数据库账户权限隔离

Nice to have

  1. 消息系统
  2. 模块化:分拣、采购
  3. 自动化文档