首页 文章详情

浅谈前后端分离

互联网全栈架构 | 636 2020-09-29 12:14 0 0 0
UniSMS (合一短信)

开发模式

  • 确定需求(产品经理/领导/客户);
  • UI 设计效果图;
  • 前后端约定接口文档;
  • 前后端并行开发;
  • 前后端集成;
  • 需求交付(提测/上线);

前后端半分离

如图,为前后端半分离。

分离与半分离的标志在于谁握着组装数据的逻辑,如果在前端,那就是前后端分离!否则就是半分离!

前后端分离

如图,为前后端分离。

优点

  • 前后端彻底分离,即便后期有服务迁移,也不需改动前端代码;
  • 更好的适配前端,业务更向前靠拢,在 BFF 层进行接口组装;
  • 对于后端,确定了更清晰的服务边界;
  • 对于前端,可自行在 BFF 层 mock 数据;

缺点

  • 增加了开发成本;
  • 中间层转发增加请求延迟;

BFF 层大多数情况下归属于前端负责,使用 nodejs 开发,完成请求转发和数据转化。

架构图参考:


反思

如果系统分层了,但是人的职责没分层,那就违反了康威定律!如果只有三五个开发,应该考虑的不是服务拆分,而是服务聚合。

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter