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