행위

BFF(Backend for Frontend) 패턴

라이언의 꿀팁백과

BFF 패턴은 API 게이트웨이와 같은 진입점을 하나로 두지 않고 프론트엔드의 유형에 따라 각각 두는 패턴으로 MSA 로 구성한 서비스에서 활용하면 유용한 패턴이다. 각 프론트엔드에 대한 처리만 수행하는 BFF를 두고 이후에 통합적인 API 게이트웨이를 둠으로써 공통적인 인증/인가, 로깅 등의 처리를 통제하는 구조로 작성할 수 있다. (출처 : 링크)


BFF 패턴.png


카카오페이 기술블로그 설명이 좀 더 직관적이어서 해당 내용을 살펴보면 아래와 같다.


BFF 패턴-02.png

API를 다이렉트로 의존할 때의 이슈들을 해결하고자 BFF가 등장합니다. Backend For Frontend라는 말 그대로 프론트엔드를 위한 중간 서버를 구현하는 것이라고 생각하면 됩니다. BFF에서는 프론트엔드 생선성을 더욱 높이기 위해, 데이터를 통합하는 처리를 담당합니다. (중략) BFF의 가장 큰 장점은 실제 비즈니스 로직의 구현과 응답 데이터를 클라이언트에서 요구되는 데이터로 파싱하는 두가지 관점을 분리하여 복잡도를 낮추고, 필요한 작업에 집중하기 쉬워지는 것이라고 생각합니다. (링크)


요약하면 BFF는 프론트엔드 개발자에게 좀 더 직관적인 API를 제공함으로써 프로그램 개발의 복잡도를 낮추는 방법이라 할 수 있다. 요청과 응답처리 그리고 필요한 데이터를 얻기 위한 다수의 API 호출을 좀 더 깔끔하게 처리할 수 있는 인터페이스를 프론트엔드 개발자에게 제공한다.