为什么互联网公司开始用node.js做web服务的中间件

微服务架构下的企业开发困境

近几年来,在企业开发中越来越推崇微服务架构,而它在不经意间却导致前端同学和后端同学之间关于 API 接口颗粒度的争吵,越来越多见:

  • 「你自己请求 2 个接口再组装不就行了?」 - 后端同学追求服务下沉和解耦。
  • 「少一次 HTTP 啊,加一个接口有那么难么?」 - 前端同学离用户最近,需要考虑用户体验灵活性。

归结为一个问题:『服务端设计的接口究竟是面向 UI 还是只是通用服务?』

为什么互联网公司开始用node.js做web服务的中间件

 

BFF提出

为什么互联网公司开始用node.js做web服务的中间件

在 BFF 理念中,最重要的一点是:服务自治,谁使用谁开发,即它应该由前端同学去维护。

  • 服务自治减少了沟通成本,带来了灵活和高效。
  • 自己吃自己的狗粮。
  • BFF 并不限制具体技术,团队根据自己的技术栈来选型: Java/Node/PHP/Python/Ruby...
  • 基于 GraphQL 技术的通用中间层网关,也是刚刚出现一种很不错的方案。
  • 在大部分前端团队中,都会倾向于选择生态更优,语法更熟悉的 Node.js 。