开发模式
- 确定需求(产品经理/领导/客户);
- UI 设计效果图;
- 前后端约定接口文档;
- 前后端并行开发;
- 前后端集成;
- 需求交付(提测/上线);
前后端半分离
如图,为前后端半分离。
分离与半分离的标志在于谁握着组装数据的逻辑,如果在前端,那就是前后端分离!否则就是半分离!
前后端分离
如图,为前后端分离。
优点
- 前后端彻底分离,即便后期有服务迁移,也不需改动前端代码;
- 更好的适配前端,业务更向前靠拢,在 BFF 层进行接口组装;
- 对于后端,确定了更清晰的服务边界;
- 对于前端,可自行在 BFF 层 mock 数据;
缺点
- 增加了开发成本;
- 中间层转发增加请求延迟;
BFF 层大多数情况下归属于前端负责,使用 nodejs
开发,完成请求转发和数据转化。
架构图参考:
反思
如果系统分层了,但是人的职责没分层,那就违反了康威定律!如果只有三五个开发,应该考虑的不是服务拆分,而是服务聚合。