View a markdown version of this page

API 통합 ‒ 프런트엔드용 백엔드 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

API 통합 ‒ 프런트엔드용 백엔드

프런트엔드 백엔드(BFF) 패턴은 일반적으로 마이크로서비스 환경에서 사용됩니다. 마이크로 프론트엔드의 맥락에서 BFF는 마이크로 프론트엔드에 속하는 서버 측 서비스입니다. 모든 마이크로 프론트엔드에 BFF가 있어야 하는 것은 아닙니다. 그러나 BFF를 사용하는 경우 동일한 경계 컨텍스트 내에서 실행되어야 하며 다른 경계 컨텍스트 간에 공유되지 않아야 합니다.

기존 서비스와 달리 BFF는 도메인 모델을 따르지 않습니다. 대신 마이크로 프런트엔드가 클라이언트에 도달하기 전에 데이터를 사전 처리하는 API 계층입니다. 이 기능이 유용한 영역은 다음과 같습니다.

  • 프라이빗 APIs에 대한 권한 부여

  • 다양한 소스의 데이터 집계

  • 네트워크 로드를 줄이고 클라이언트의 데이터 소비를 용이하게 하기 위한 데이터 변환

따라서 BFF는 도메인 서비스 계층이 아닌 마이크로 프런트엔드가 소유합니다. BFFs 다음을 사용하여 배포할 수 있습니다.

  • AWS AppSync GraphQL APIs

  • AWS Lambda 함수 세트

  • Amazon ECS, Amazon EKS 또는 AWS AppRunner에서 실행되는 컨테이너

다음 다이어그램은 BFF 패턴이 없으면 마이크로 프론트엔드가 개별 마이크로서비스 API 엔드포인트에 연결하여 데이터를 가져오고 집계해야 함을 보여줍니다.

먼저 트랜잭션을 가져온 다음 분리된 마이크로서비스에서 가격을 가져오는 대시보드 앱입니다.

대신 다음 다이어그램의 BFF 패턴을 사용하면 마이크로 프론트엔드가 자체 백엔드와 통신하고 집계된 데이터를 가져올 수 있습니다.

트랜잭션 보기는 가격 정보를 포함한 집계된 데이터를 BFF에서 가져옵니다.

팀은 채팅을 줄여 백엔드 상호 작용을 최적화하기 위한 요구 사항과 함께 모바일, 웹 또는 특정 뷰와 같은 다양한 채널에 대한 BFFs를 개발할 수 있습니다.