BFF(Backend For Frontend)는 프론트엔드를 위한 백엔드로 프론트엔드의 API 사용을 위해 추가로 두는 서버를 말한다.
블로그 마이페이지 구현을 위해 API 요청을 한다고 가정해보자.
•
지금 로그인 한 사용자의 정보를 가져오는 GET /auth/me
•
내가 쓴 게시글을 가져오는 GET /post
•
내가 북마크한 게시글을 가져오는 GET /bookmark
와 같은 API 요청을 하게 된다.
프론트엔드에서는 마이페이지 하나 때문에 여러 API 요청을 하는 일이 생긴다. 이럴 때 BFF를
만들어서 프론트엔드에서는 하나로 합쳐진 GET /profile API를 사용하면 된다.
여러 서비스가 나뉘어져 있는 MSA 아키텍쳐에서 활용하기 좋다.
여러 외부API을 호출하여 데이터를 조합하기 위해 BFF를 사용하기도 합니다.
비용이 높은 연산을 할 때 BFF에 맡길 수도 있다.
인기 있는 게시글을 가져오기 위해서(날짜순, 좋아요, 북마크 개수 등 기준) BFF에서 정렬 후 데이터를 보내주고, 프론트엔드에서는 GET /ranking API를 통해 가져오면 된다.