Kim Jinung

Backend for frontend(BFF) 본문

Scrap

Backend for frontend(BFF)

Kim Jinung 2023. 1. 3. 17:28

https://learn.microsoft.com/en-us/azure/architecture/patterns/backends-for-frontends

 

Backends for Frontends pattern - Azure Architecture Center

Explore the Backends for Frontends pattern, which creates separate backend services to be consumed by specific frontend applications or interfaces.

learn.microsoft.com

 

  • 모바일 시장이 성장했다.
  • 서비스는 같지만 구체적으로, 모바일에 제공해야하는 데이터와 PC에 제공해야하는 데이터의 종류가 다른 경우 (모바일은 정수로 데이터 제공,  PC는 소수점까지 제공한다고 가정하자) 백엔드 단의 복잡성이 증가한다. 각 플랫폼에 대응해주어야 하므로 백엔드 단은 서비스 요청 시 이를 요청한 플랫폼을 구분해야 한다.
  • 별도의 분리된 백엔드 서버를 모바일과 PC를 위해 나누고(BFF), 각 플랫폼은 해당 플랫폼을 위해 만들어진 BFF에 데이터를 요청한다.
  • BFF는 오리지널 API에 데이터를 요청하고 받아온 데이터를 후처리해서 플랫폼에 넘겨주는 패턴을 가지게 된다. 
  • 백엔드에서 제공하는 서비스가 플랫폼에 종속되지 않으므로 일관성을 유지하기가 쉽다.
  • 위 과정에서 오리지널 API가 플랫폼 구분에 대한 부담을 제거할 수 있게 된다.
  • 보통은 프론트엔드 단에서 별도로 BFF를 개발하는 경우가 많은 듯

 

 

적용 사례

https://fe-developers.kakaoent.com/2022/220310-kakaopage-bff/

 

카카오페이지는 BFF(Backend For Frontend)를 어떻게 적용했을까?

카카오엔터테인먼트 FE 기술블로그

fe-developers.kakaoent.com

 

'Scrap' 카테고리의 다른 글

MySQL - Count() 함수 다중 필드  (0) 2023.01.21
File storage, Block storage, Object storage  (0) 2023.01.11
시스템 프로그래밍 강의  (0) 2023.01.07
LRU(Least recently used)  (0) 2022.12.05
Github actions - docker cache  (0) 2022.11.22