DX Data School

MSA 구성 요소 및 MSA 패턴

Kim J 2024. 4. 1. 17:52

1) 구성 요소 및 패턴의 유형

  • 인프라 구성 요소
  • 플랫폼 패턴
  • 애플리케이션 패턴

 

2) 인프라 구성 요소

  • 가상화 되어 제공됨
  • Public Cloud
  • 베어 메탈
  • Private Cloud
  • Virtual Machine
  • Container(Docker)
  • 컨테이너 오케스트레이션(Kubernetes)

 

3) 플랫폼 패턴

  • DevOps 인프라 구성
    • 개발과 운영이 분리되지 않은 개발 및 운영을 병행할 수 잇는 조직 또는 문화
  • CI/CD : 지속적인 인도와 배포를 위한 파이프라인 설계
  • 넷플릭스에서는 플랫폼 패턴으로 Spring Boot + 넷플릭스 OSS 조합을 이용
  • BFF (BackEnd For FrontEnd) 패턴
    • 애플리케이션 종류별로 진입점을 만들고 API 게이트웨이를 이용해 서비스를 이용하는 방식
    • 다양한 모바일 장비 사용 증가로 다양한 클라이언트를 고려해야 함
  • 외부 구성 저장소 패턴
    • 외부 저장소와 관련된 정보를 소스 코드에 포함시키면 외부 저장소를 수정하게 될 경우 소스 코드를 다시 빌드해야 하므로 저장소와 관련된 정보는 소스 코드에 하드 코딩 하지 않고 외부 환경 설정 정보를 활용하도록 하는 것
    • 대부분의 프레임 워크는 설정 정보를 저장할 수 있는 별도의 텍스트 파일이나 프로퍼티 파일을 사용할 수 있도록 하고 형상 관리를 위한 서비스에서도 이를 암호화할 수 있는 기능을 제공함
  • 인증/인가 패턴
    • 각 서비스가 모두 인증/인가를 중복으로 구현한다면 비효율적
    • Micro Service 인증/인가를 처리하기 위해서는 일반적으로 다음과 같은 패턴을 활용
    • 중앙 집중식 세션 관리를 주로 이용 했으나 최근들어 클라이언트 토큰 방식(JWT)을 이용함
    • 사용자 인증 프로세스는 토큰 인증 프로세스와 유사
    • 차이점은 API 게이트웨이가 외부 요청의 입구로 추가된다는 것 과 인증/인가를 처리하기 위한 별도의 전담 서비스를 만들어서 다른 서비스의 인증/인가 처리를 위임할 수 있음
    • 이러한 서비스를 인증 서비스(auth service)라 하는데 API 게이트웨이와 연동해서 인증/인가를 처리
    • 인증 서비스를 이용하면 각 리소스 서비스가 자체적으로 인증/인가를 처리하지 않고 업무 처리에 집중할 수 있음
 

 

 

'DX Data School' 카테고리의 다른 글

Container 와 Virtualization  (0) 2024.04.05
CI/CD  (0) 2024.04.05
리액티브 선언  (0) 2024.04.01
Micro Service를 구현하기 위한 조건  (0) 2024.04.01
Monolithic과 Micro Service  (0) 2024.04.01