【架构拾集】前后端分离演进:不能微服务,那就 BFF 隔离

现有的绝大多数软件系统,都将在未来某一刻成为遗留系统,只是时间跨度不一样。好的系统,拥有好的设计,并在其生命周期里不断地演进。但是没有一个设计能抵抗住时间,以及业务带来的变更。

技术远景

或许你在我之前的文章里已经了解了 BFF 是什么,又或许你已经从其它渠道了解到这方面的知识。如果没有的话,那么让我再简单地介绍一下:什么是 BFF

BFF

BFF,即 Backends For Frontends (服务于前端的后端),也就是服务器设计 API 时会考虑前端的使用,并在服务端直接进行业务逻辑的处理。

![BFF)(http://architecture.phodal.com//images/bff.jpg)

如我在《前端演进史》 一文所说,早期我们在设计系统 API 的时候,只是单纯地为前端(Web、Android、iOS 等等)提供一个模型(Model)的 JSON 序列化,并不会具体考虑前端的需求。如下是一个常规的 RESTful API,从设计上来说,它满足 RESTful API 的要求,但是并适合于前端使用。

在这种情况下,我们需要进行一些处理,如对文字的截断等等。而使用 BFF 则意味着,它会多出一层业务处理及转发层。

适用场景

如上所述,这种架构特别适合于采用绞杀者模式的系统迁移。

迁移方案

让我们回到 Web 1.0 时代,看看那个时候的网站架构:

原文链接:https://www.phodal.com/blog/architecture-101-bff-for-legacy-system-migrate/

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏刘君君

Rest Notes-设计Web架构:问题与领悟

12930
来自专栏杨熹的专栏

Python很强大

今天查了很多资料,梳理一下Python的知识面。 ? Python 的语法非常简洁,写起来就像写英语一样,不仅简单而且可以高效地实现面向对象编程。与 C/C++...

48070
来自专栏技术/开源

强大的API测试工具Hitchhiker v0.9 基于UI的断言测试,回顾2017

v0.9是Hitchhiker在2017农历年的最后一个版本,而起点正是刚过完2016农历年,农历2018即将到来,一年轮回,今天写点东西稍微回顾下hitchh...

28750
来自专栏技术/开源

强大的API测试工具Hitchhiker v0.9 基于UI的断言测试,回顾2017

v0.9是Hitchhiker在2017农历年的最后一个版本,而起点正是刚过完2016农历年,农历2018即将到来,一年轮回,今天写点东西稍微回顾下hitchh...

21770
来自专栏大宽宽的碎碎念

系统的请求量突然增大数倍怎么办?面试中怎么回答真实世界的流量问题最后的话

668160

云监控入门

云监控是一个对基于云的服务、应用程序与基础架构进行评估、监控与管理的工作。公司利用各种应用程序监控工具来监视基于云的应用程序。下面我们来看看它是如何工作的,以及...

29970
来自专栏纯洁的微笑

微服务(Microservice)那点事

摘要: 微服务架构被提出很短的时间内,就被越来越多的开发人员推崇,简单来说其主要的目的是有效的拆分应用,实现敏捷开发和部署 。本分享即尝试介绍微服务架构的一些实...

31160
来自专栏Android 开发者

[译] 怎样把取消订阅的用户吸引回来

43240
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合基础篇(一)项目简述及技术选型介绍

很久之前就开始打算整理一下自己的技术博客了,由于各种原因(借口总是可以找到的),实在抽不出时间所以计划一直处于搁置状态,一直只是心底的一颗小萌芽,日复一日的悠悠...

10230
来自专栏进击的程序猿

袖珍分布式系统(一)

本文是Distributed systems for fun and profit的第一部分,本文是阅读该文后的一些记录。

10430

扫码关注云+社区

领取腾讯云代金券