MSA란

givepro·2022년 4월 20일
0

마이크로서비스 아키텍쳐란?

하나의 서비스를 작은 마이크로서비스로 쪼개는 것. (독립된 서비스로 운영될 수 있는)
다른 마이크로서비스와 겹치지 않고 독립적으로 운영을 할 수 있는 서비스를 의미 한다.
가장 많이 쓰이는 것은 REST API이다.

비즈니스 중심의, 기능이 섞여 있는 서비스 단위 팀으로 구축이 된다.
서비스가 중단되지 않고 지속적으로 기능 업데이트가 가능하다.

마이크로서비스 아키텍쳐의 장점

  • 빠른 개발 속도 : 개발 언어 선택의 자유로움, 서비스 팀의 역량만으로 가능
  • 빠른 배포 속도 및 병렬 배포 : 각 마이크로서비스간 독립된 배포 파이프라인 (CI/CD)
  • DevOps팀과 통합된 운영 : 서비스에 대한 Ownership
  • 확장성, 가용성 : 마이크로서비스 특성에 마즌 확장성/가용성 설계
  • 비즈니스 도메인과 밀접하게 연결 : Lean Cycle (빠르게 비즈니스의 요건을 수용)

공통 구성 요소

  • 모든 서비스들에 적용되는 공통 요소들
    - 서비스 등록 및 제거
    • 서비스 검색 및 가용성 관리
    • 서비스 메타데이터 관리
    • 서비스 버전 관리
    • 서비스 별 Cache 관리
  • 빠르고 효율적인 배포 환경 관리
  • 자동화된 관리 및 모니터링

설계 시 고려사항

  • 탄력적인 서비스
  • 단위 리소스의 장애 극복
  • 통일된 API 인터페이스
  • 작게 유지
  • 독립적인 서비스

마이크로서비스 구성 요소 + DevOps

고객
api 게이트웨이
등록 검색 환경
인프라 자원
데이터(RDBMS 등)

profile
server developer

0개의 댓글