카테고리 없음

아키텍처 이해와 구성 요소

최종군 2024. 12. 4. 22:22

API (Application Programming Interface)

애플리케이션 컴포넌트 간의 통신을 가능하게 하는 

인터페이스이다 

 

RESTful API, GraphQL, gRPC와 같은 다양한 방식이 존재한다

- RESTful API란 :

HTTP 프로토콜을 기반으로 자원을 정의하고 조작하는 데 초점을 둔 API 설계 방식이다

자원(리소스)을 URL로 나타내며, HTTP 메서드(GET, POST, PUT, DELETE 등)를 통해

작업을 수행한다. 

 

RESTful API는 분산 시스템 아키텍처나 마이크로서비스 아키텍처에서

서비스 간 데이터 교환 방식으로 자주 사용된다. 

 

마이크로서비스 아키텍처에서 서비스 간 통신을 위해 API가 필수적이앋

클라이언트-서버 아키텍처에서도 클라이언트와 서버가 데이터를 주고 받는데 

API가 사용된다. 

 

MVC (Model-View-Controller)

애플리케이션을 세 가지 주요 구성 요소로 나누는 설계 패턴:

  • Model: 데이터와 비즈니스 로직.
  • View: 사용자 인터페이스.
  • Controller: 사용자의 요청을 처리하고 응답을 반환.

MVC는 소프트웨어 아키텍처 패턴 중 하나로, 

애플리케이션 내부의 구조를 정의한다. 

웹 애플리케이션 아키텍처에서 클라이언트-서버 간 역할 분리를 강조하는 기본 패턴이먀

spring framework와 같은 주요 웹 프레임워크는 MVC 패턴을 기반으로 설계가 되어있다. 

 

Monolith (모놀리식)

  • 설명:
    • 모든 기능이 하나의 애플리케이션으로 통합된 아키텍처 스타일.
    • 애플리케이션의 모든 부분이 단일 코드베이스에 포함.
  • 아키텍처와의 관계:
    • 초기 단계 프로젝트작은 애플리케이션에 적합한 기본 아키텍처.
    • 마이크로서비스 아키텍처와 대조되는 개념으로, 필요에 따라 모놀리식 애플리케이션을 마이크로서비스로 리팩토링

Microservices (마이크로서비스) : 

애플리케이션을 독립적으로 배포 및 확장 가능한 작은 서비스들로 나누는 구조이다

각 서비스는 특정 비즈니스 기능을 담당하며, 독립적으로 배포되고 관리가 된다. 

 

마이크로 서비스는 자체적으로 아키텍처 스타일로 인정된다 

 

 

Load Balancer

  • 설명:
    • 네트워크 트래픽을 여러 서버에 분산하여 시스템 안정성과 성능을 유지.
  • 아키텍처와의 관계:
    • 분산 시스템마이크로서비스 아키텍처에서 필수적인 구성 요소.
    • 서버 간 부하를 분산하여 확장성고가용성을 보장.
    • 웹 아키텍처에서 클라이언트 요청을 적절히 분산시키는 중요한 역할.