前言

在项目架构时,提前做到一些预准备,可以让你在未来改造的时候更佳方便。

  • 是否可伸缩,节点均衡。
    (微信accesstoken只允许单节点拉取,所以不应该将accesstoken和可伸缩的节点放一起)
  • 是否有可能测试服和正式服,分离服务器。
    (redis的key是否加了服务标识,redis的db index是否区分隔离之类的)
  • 是否多人开发
    (项目的目录层级是不是合理,多人开发合并冲突几率,共享同一个switch的几率大不大,全局变量多方编辑的几率大不大。)
  • 是否有可能从主项目里,拆分出子服务。
    (和主服务同时更新,但是互不影响,是否共享发起参数,是否区分配置文件,nginx路由是否冲突)
  • 是否方便中间件拓展。
    (postgres和redis应对人数,改变成了集群,redis/pg 的连接方式从本地无密码,改变成了跨内网带密码,读写分离)
  • 是否方便"重复造车"。
    (代码结构适不适合自动生成模型结构,http接口,网关,文档说明)
  • 服务依赖是否有发起顺序。
    (最好改造成顺序无害的。)
  • 是否适合埋点统计

  • 是否有限流,熔断,主备服等潜在需求。