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