programming-study icon indicating copy to clipboard operation
programming-study copied to clipboard

BFF 패턴

Open heowc opened this issue 11 months ago • 0 comments

스크린샷 2024-03-02 오후 1 23 28

장/단점

스크린샷 2024-03-02 오후 1 28 39

하나의 환경 ? 모놀리식에서는?

스크린샷 2024-03-02 오후 1 37 50 스크린샷 2024-03-02 오후 1 39 59

하나의 정보를 가져오기 위해 여러 API를 호출하는 것은 네트워크 관점에서 오버헤드가 될 수 있음

  • 그러나, 이것 역시 프로젝트 규모와 구성 등등 에 따라 선택헤야할 문제
  • 그렇다면 우리는? 🤔
    • 클라이언트가 API를 많이 호출하는가?
    • 이로 인해 리로스를 많이 잡아먹는가?

타 게시물

스크린샷 2024-03-02 오후 1 47 04

타회사 사례

  • 오늘의집
    • https://www.bucketplace.com/post/2022-02-22-%EC%98%A4%EB%8A%98%EC%9D%98%EC%A7%91-msa-phase-1-aggregator-%EA%B3%B5%ED%86%B5%EB%AA%A8%EB%93%88/
    • aggegator 모듈 서비스
    • GraphQL의 data fetching 같은 컨셉으로 느껴짐 🤔
  • 카카오페이
    • https://tech.kakaopay.com/post/bff_webflux_coroutine/
    • API 조합기
    • 모바일 대역폭이 적어서 100배 정도 차이가 날 수 있음
      • 우리 LAN 망은 보통의 인터넷망과 비교했을때 얼마나 빠른가?
    • non-blocking 처리를 위해 WebFlux 도입

요약

  • 여러 환경적인 요인(서버 위치, 네트워크 대역폭 등등)애 따라서 속도차가 있을 수 있음
  • 그렇다면 우리 서비스가 느린가?
    • 트래픽이 없는 상태이긴 했지만 체감할 수 있는 정도는 아니였음
    • 스트레이스 테스트를 진행하면서 더블 체크를 해볼 필요는 있음
  • 그 외에도 다른 전략을 사용할 수 있음 ex) 데이터 압축
  • 너무 비효율적으로 느껴지는 API 호출은 큰 도메인 개념을 만들고 통합해보자

heowc avatar Mar 02 '24 05:03 heowc