본문 바로가기
MSA

[MSA] BackEnd For FrontEnd 패턴에 대해서

by nozee 2025. 1. 2.
반응형

 

서비스가 분산되는 MSA 구조가 되면서 화면에서 다양한 서버로 호출해야 하는 일이 생기게 되었다.

이를 돕기 위해 BFF 가 등장하게 되었는데 BFF ( Backend For FrontEnd)  

프론트엔드를 요구사항에 맞게 구현하기 위한 도움을 주는 보조 서버이다.

 

 

 

 

하나의 프론트엔드에 대해 하나의 BFF가 있어야 하며 BFF를 프론트엔드 요구사항에 맞게 구현할 수 있다.

BFF에서는 프론트엔드 생선성을 더욱 높이기 위해, 데이터를 통합하는 처리를 담당

BFF를 구현하여 프론트엔드를 백엔드에서 분리된 상태로 유지할 수 있다

BFF는 프론트엔드 요구사항을 충족하기 위해 존재하며, 이상적으로는 프론트엔드 개발자가 빌드 해야 한다.

 

BFF 미적용 호출

// /api/getCustomer 호출
 {
    id:1,
    userName:'홍길동',
    userPhone:'01012345678',
    userAddress:'서울특별시',
    created:'2023-02-09 14:02:03',
    updated:'2023-02-09 14:02:03',
 }
  
 // /api/getProduct 호출
  
  {
    id:240,
    productName:'아이아이 핸드폰케이스-Iphone14Pro',
    productPrice:23500,
    created:'2022-01-10 13:12:15',
    updated:'2022-01-12 14:15:57',
 }
  
  // /api/getOrder 호출
  
  {
    id:125485,
    orderDate:'2023-03-01 12:00:34',
    state:3, //state 3은 배송완료 코드이다
 }

 

BFF 적용 호출

// BFF 코드 return 예시
 {
    userName:'홍길동',
    productName:'아이아이 핸드폰케이스-Iphone14Pro',
    productPrice:23500,
    orderDate:'2023-03-01 12:00:34',
    orderState:'배송완료'
 }

 

반응형