3. web의 본질은 요청-반환의 방식

wjd15sheep·2024년 1월 1일
0

Web 기초

목록 보기
3/9

HTTP 상에서 '요청-반환'을 위해 기본적으로 REST API를 사용한다. 몇가지 단점을 보완하기 위해 GraphQL도 사용한다

  • ‘요청 - 반환’ 의 주체는 2개로 구성 : 웹 브라우저, 웹 서버

    • 웹 브라우저 - 웹 서버 간 요청 - 반환 일반적으로 우리가 생각하는 프론트엔드와 백엔드 사이의 데이터 or 웹 페이지 교환
  • 웹 서버 - 웹 서버 간 요청 - 반환

    1. Monolithic 모놀리딕
      하나의 코드 베이스를 사용하여 여러 비즈니스 기능을 수행하는 전통적인 소프트웨어 개발 모델
    2. MSA (Microservice Architecture)
      소프트웨어를 작은 독립 구성 요소 또는 서비스로 구성하는 아키텍처 접근 방식
    • 주요 차이점
      • 모놀리식 애플리케이션 : 클라이언트 측 UI, 데이터베이스 및 서버 측 애플리케이션으로 구성, 모든 모듈은 단일 코드 베이스에 구축
      • 분산 아키텍처 : 각 마이크로서비스가 단일 기능 또는 비즈니스 로직을 달성하도록 작동 동일한 코드 베이스 내에서 데이터를 교환하는 대신 API를 통해 통신
    • 출처 : https://aws.amazon.com/ko/compare/the-difference-between-monolithic-and-microservices-architecture/

    모놀리식의 장점

    • 단순성
    • 간편한 배포
    • 보편성
    • 디버깅이 쉬움
    • 쉬운 테스트
    • 쉬운 모니터링

    모놀리식의 단점

    • 규모가 커지면 유지 보수가 어려움
    • 유연하지 않은 확장성
    • 대규모 팀 작업이 어려움
    • 기술 사용 제한

    마이크로서비스 장점

    • 유연한 확장
    • 독립적인 배포
    • 단일 실패 지점 제거
    • 전체 서비스 중단 위험 감소
    • 다른 데이터베이스를 소유
    • 다양한 기술 수용 가능
    • 민첩성

    마이크로서비스 단점

    • 개발 생산성 필요
    • 디버깅이 어려울 수 있다.
    • 오류 처리
    • 표준화 부족
    • 오류 식별의 어려움

    아키텍처는 여러가지 상황을 고려하여 선택해야하며 마이크로서비스만 답은 아니다. 모놀리식과 마이크로서비스의 장단점을 고려하여 서비스의 최적의 방식을 선택하는게 좋다.


첨부
https://yozm.wishket.com/magazine/detail/1813/
https://d1.awsstatic.com/Developer%20Marketing/containers/monolith_1-monolith-microservices.70b547e30e30b013051d58a93a6e35e77408a2a8.png

profile
개발자 준비생

0개의 댓글

관련 채용 정보