백엔드 아키텍처란?
백엔드 아키텍처는 소프트웨어 아키텍처의 한 분야로, 웹 애플리케이션이나 서버 시스템의 구조를 설계하는 방식이다. 클라이언트(웹, 모바일 앱)와 상호작용하며 데이터를 처리하고 저장하는 역할을 한다.
1. 아키텍처 패턴
백엔드 시스템을 설계할 때 주로 사용되는 패턴들:
- 모놀리식 아키텍처: 하나의 애플리케이션이 모든 기능을 포함하는 전통적인 방식.
- 마이크로서비스 아키텍처: 기능별로 독립적인 서비스로 나누어 개발하는 방식.
- 서버리스 아키텍처: 특정 이벤트가 발생할 때만 실행되는 클라우드 기반 함수(FaaS) 활용.
2. 주요 구성 요소
2.1 API
- RESTful API, GraphQL, gRPC 등을 이용해 프론트엔드와 통신.
2.2 데이터베이스
- 관계형(DBMS) vs. NoSQL 선택 (MySQL, PostgreSQL, MongoDB 등).
2.3 캐시
- Redis, Memcached 등을 사용해 데이터 로딩 속도를 향상.
2.4 메시지 큐
- Kafka, RabbitMQ 등을 이용해 비동기 처리.
2.5 로드 밸런싱