-
미디엄 게시글을 읽고 - 2025/01/09데일리 데브 인사이트 2025. 1. 9. 21:12
제목 Backend for Frontend (BFF) Architecture ECMAScript 2024 (ES15): Unveiling the Latest JavaScript Features
출처 https://medium.com/gitconnected/backend-for-frontend-bff-architecture-64fa9f316a5a https://medium.com/javascript-in-plain-english/ecmascript-2024-es15-unveiling-the-latest-javascript-features-9186d72a10ae 요약 BFF의 작동 방식
1. 클라이언트 요청: 각 클라이언트(웹, 모바일 등)가 해당하는 BFF로 요청을 보냅니다.
2. BFF 계층: BFF는 여러 마이크로서비스에서 데이터를 가져와 필요한 변환 및 최적화를 수행합니다.
3. 마이크로서비스: BFF는 사용자 서비스, 주문 서비스 등 다양한 서비스와 상호작용하여 데이터를 준비합니다.
BFF의 장점
1. 맞춤형 사용자 경험: 각 클라이언트가 필요한 데이터만 받아 과도한 데이터 전송을 방지하고 성능을 개선합니다.
2. 보안 강화: 인증, 권한 부여, 속도 제한 등을 통해 백엔드 서비스와의 상호작용을 보호합니다.
3. 확장성 향상: 플랫폼별로 독립적으로 백엔드를 확장하고 최적화할 수 있습니다.
4. 프론트엔드 개발 간소화: 데이터 변환 작업을 백엔드에서 처리해 프론트엔드 개발 부담을 줄입니다.
BFF를 사용할 때
• 멀티 플랫폼 애플리케이션: 웹, 모바일 등 플랫폼별로 다른 요구사항이 있을 때 적합합니다.
• 마이크로서비스 오케스트레이션: 여러 서비스에서 데이터를 가져와 하나의 응답으로 통합해야 할 때 유용합니다.
• 레거시 API 최적화: 기존 시스템의 복잡성을 숨기고 현대적인 인터페이스를 제공할 때 활용할 수 있습니다.
BFF의 단점 및 고려사항
1. 유지보수 부담 증가: 프론트엔드별로 여러 백엔드를 관리해야 하므로 복잡성이 증가할 수 있습니다.
2. 데이터 일관성 문제: 설계가 잘못되면 플랫폼 간 반환되는 데이터가 불일치할 수 있습니다.
3. 성능 병목 현상: BFF 계층이 최적화되지 않으면 성능 저하가 발생할 수 있습니다1. 올바른 유니코드 문자열 처리
• `String.isWellFormed()`와 `String.toWellFormed()`:
• 문자열이 UTF-16 형식에 맞는지 확인하거나, 잘못된 문자열을 수정하여 올바른 형식으로 변환합니다.
2. `Promise.withResolvers()`
• 외부에서 프로미스의 **해결(resolve)**과 **거부(reject)**를 제어할 수 있는 새로운 메서드.
• 비동기 작업을 더 세밀하게 관리할 수 있습니다.
3. 정규 표현식 플래그 `/v`
• 유니코드 세트 매칭과 문자열 리터럴 매칭을 지원하여 더 강력한 패턴 매칭을 제공합니다.
• 예: `\q{}` 구문으로 문자열 리터럴 매칭 가능.
4. 배열 그룹화
• `Object.groupBy()`와 `Map.groupBy()`:
• 배열이나 컬렉션의 요소를 키 기준으로 그룹화하는 새로운 메서드.
• 데이터 분류와 정리가 간편해집니다.
5. ArrayBuffer와 SharedArrayBuffer 개선
• `ArrayBuffer.prototype.resize()` 및 기타 메서드로 버퍼 크기를 동적으로 조정 가능.
• 메모리 관리가 더욱 유연해졌습니다.
6. 동기 및 비동기 Atomics
• `Atomics.waitAsync()`:
• 공유 메모리에서 비동기적으로 변경 사항을 기다릴 수 있는 기능 추가.
7. 기타 주요 업데이트
• 정렬된 배열 반환 (`toSorted()`):
• 원본 배열을 수정하지 않고 정렬된 새 배열 반환.
• 논리 할당 연산자 (`&&=`, `||=`, `??=`):
• 간결한 조건문 작성 가능.
• Temporal API:
• 날짜와 시간 처리를 현대화.'데일리 데브 인사이트' 카테고리의 다른 글
미디엄 게시글을 읽고 - 2025/01/13 (0) 2025.01.13 미디엄 게시글을 읽고 - 2025/01/10 (0) 2025.01.10 미디엄 기사를 읽고 - 2025/01/06 (0) 2025.01.06 미디엄 게시글을 읽고 요약 (0) 2025.01.03 미디엄 게시글을 읽고 요약 (0) 2025.01.02