总体规划
系统架构
-
DB拆分
保障DB出现单点故障不影响全局业务。
-
订单重构
- 订单库表切换到mysql
- 订单功能整体收进微服务
-
关键路径稳定性改造
见系统去单点
-
主要模块微服务化
主要模块:订单、采购、分拣、商品、账户(含session)、其他
-
异步消息系统
未来消息系统成为我们系统的关键依赖模块,需要进一步升级。
-
模块业务拆分
目前大量业务集中在一个web模块,增加了稳定性风险,需要拆分成不同业务模块。
-
南北双中心
- 在北方增加一个机房部署,使得北方客户的访问更快。
- 北方中心使用阿里或者其他云,待考察。
- 南北中心可以互相同步数据,在一个中心出现故障后,可以快速切换到另一个中心继续服务。
系统去单点
-
dns去单点
暂时依赖腾讯云,长线考虑多套dns部署。
-
nginx去单点
- 每个业务有自己的nginx
- 每个业务部署多个nginx
-
大模块业务拆分
见系统架构
-
模块去单点
- 模块本身需要按照客户隔离,避免单客户故障影响全局。
- 单个模块需要多份部署,以实现故障自动隔离。
-
可选依赖失效不影响主流程
针对一些可选组件:异步,微信支付,或者我们判断为可旁路的模块。要做到挂掉后不影响主流程运行。
-
数据库去单点
DB拆分项目。
业务优化
-
重点对象版本化
解决长期以来没有版本化导致的各种问题。商品库、供应商。
-
接口访问权限校验
解决接口访问没有校验用户或者站点的漏洞
系统性能
- 长耗时接口优化
- 数据库慢查询
- 10x性能测试
系统质量
- 基础服务框架
-
持续集成
- 测试回归
- 代码风格校验
- 最佳实践校验
-
自动化文档
自动扫描并生成DB与接口文档。
-
整理最佳实践
- 数据库
- python
- 微服务
年底deadline
- DB拆分
- 关键路径稳定性改造
- 订单重构
- 腾讯云数据备份
- 数据库账户权限隔离
Nice to have
- 消息系统
- 模块化:分拣、采购
- 自动化文档