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

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

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

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

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

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

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

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

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

  • AWS AppSync GraphQL API

  • AWS Lambda 함수 세트

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

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

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

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

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

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