使用全 node 平台,下面是项目需要考虑的一些事情:
1、对项目中所作的事情进行一些罗列,这些应该是很多项目都需要考虑的问题和事情,其中每一块儿都有其重要的作用;
2、当项目足够庞大的时候,其中每一块儿都独立成为一个项目,就从单项目多功能组合变为,多项目单功能组合,然后每个项目内部在进行更次级的组合;
3、接下来再往大演变,如果有很多业务线,那么很多项目就是可以公用的,这些公用的项目抽离出来就组成了基础设施,为上层业务提供服务;
4、如果上层业务过多,导致各方引用底层基础设施过于庞杂,那么就需要引入一个中间层,进行引用管理,便于基础设施的升级和改进,明确基础设施的引用方;
5、对于中间层的使用问题,任何高内聚的独立系统之间的引用都可以加入中间层概念,对于数量较小的系统来说一些简单的单向引用不需要加入中间层;
6、对于中型以上业务,几十个项目组合提供服务,那么引入中间层就很有必要;
作为技术项目应该引入的功能和要做的事情(业务无关):
sequelize 数据库 orm 化
lodash 常用纯方法库
ali-oss 静态资源存储
async 代码并行库
sentry 线上异常抛错收集
ali-mns 消息队列
redis 缓存和锁
invoke sdk接入
express 系统整体框架
ejs 模板渲染
morgan 日志
跨域处理
token 解析
路由层
apidoc 文档生成
权限管理
请求压缩
静态文件目录
超时处理
请求解析
cookie 解析
请求链路日志记录
性能分析
异常处理
定时服务
时区处理
独立组件抽离
数据处理脚本
gitlab devOps
docker-componse
静态数据
代码规范
合作方式
系统配置处理
基础服务设施
schema 管理
版本控制
单元接口测试
开发模式
参数校验
加密及安全
域名配置
服务器配备
debug
对外sdk服务
token 生成管理验证机制
数据备份
外部库整理
项目结构及规划架构
上线流程
迭代周期
接口规范
信息同步
进度同步
崩溃重启
项目之间的关系
编码心态
技术分享