본문 바로가기
이전개발자료/Review

[책리뷰] 처음 시작하는 마이크로서비스 AWS, 도커, 테라폼 등으로 구축하는 마이크로서비스 아키텍처

by 캡틴쿼카 2021. 12. 21.
반응형
책 리뷰
[처음 시작하는 마이크로서비스 AWS, 도커, 테라폼 등으로 구축하는 마이크로서비스 아키텍처]

처음 시작하는 마이크로서비스 처음 시작하는 마이크로서비스 AWS,도커,테라폼 등으로 구축하는 마이크로서비스 아키텍처

저자 : 로니 미트라, 이라클리 나다레이슈빌리
출판 : 한빛미디어
발매 : 2021. 08. 01

 이 책을 선택한 이유

 

평소에 마이크로서비스에 관심이 많았다.

 

마이크로서비스란 무엇인가?

 

마이크로서비스가 왜 어려운가?

 

마이크로서비스를 어떻게 해야하는가?

 

마이크로서비스의 특징은 무엇인가?

 

위와 같은 의문을 가지고 책을 선정하였다.

 


 

 기억에 남는 책 내용

 

  1. 마이크로서비스란?
    • 단일 애플리케이션을 작은 규모의 서비스 조합으로 나누어 개발하는 방식
    • 비즈니스 기능을 중심으로 구축
    • 완전 자동화된 배포 기계를 통해 독립적으로 배포
    • 제한된 범위의 독립적으로 배포 가능한 구성요소
    • 메시지기반 통신으로 상호운용성을 지원
    • 높은 수준으로 자동화된 엔지니어링 스타일
    • 기능별 마이크로서비스로 구성된 진화할 수 있는 소프트웨어 시스템 
  2. 마이크로서비스의 어려운 부분
    • 긴 피드백 루프 : 의사결정의 영향을 판단하는 것이 쉽지않음
    • 복잡한 시스템 구조 : 각 파트가 어떤 식으로든 다른 부분에 영향을 미침
    • 분석 마비 : 선택에 대해 끝없이 고민만 반복하는 상황
  3. 경량 아키텍처 결정 기록(LADR)
    • OPM1
    • 상태(제안됨, 검토중, 승인됨)
    • 콘텍스트(결정을 내리기 위한 문제, 제약, 배경 설명)
    • 결정(선택과 고려했던내용)
    • 결과(~한다. ~필요하다)
  4. SEED(S) 프로세스
    1. 액터 식별
      • 정확하고 구체적
      • 5명이하, 이상이라면 서비스경계가 너무 넓음
      • 요구사항, 행동 기입
    2. 액터가 수행하는 작업 식별
      • 고객이 제품에서 원하는 것
      • ex) 드릴을 사는것이 목적이 아니라 구멍을 뚫는것이 목적
      • 잡스토리형식(<상황>일때, 나는 <동기>하기를 원하고 <목표>를 할 수 있다.)
    3. 시퀀스 다이어그램을 사용하여 상호작용 패턴 발견
    4. JTBD와 상호작용 패턴을 기반으로 높은 수준의 작업 및 쿼리 도출
      • 쿼리 (입력/응답), 액션(입력, 예상결과, 응답(선택))
      • 마이크로서비스 디자인 캔버스
    5. 개방형표준을 사용하여 각 액션 및 쿼리를 스펙으로설명
    6. API사양에 대한 피드백 받기
    7. 마이크로서비스 구현
  5. 그밖에 특징점
    • 마이크로서비스는 기술적 요구가 아닌 비지니스 기능을 중심으로 구성되어야 한다.
    • 너무 일찍 세분화 되어서는 안된다.
    • DDD 유비쿼터스 언어 (용어사전? 필요)
    • DDD 는 어려움… 이벤트 스토밍
    • 데이터 공유문제 : RabbitMQ / Kafka / Apache Pulsar
    • 원자성 : 모두 실행되거나 모두 실행되지 않아야한다.
    • 일관성 : 모든 트랜잭션은 시스템을 하나의 유효한 상태에서 다른 유효한 상태로 전환해야한다.
    • 독립성 : 다양한 트랜잭션의 병렬 실행은 각 트랜잭션을 순차적으로 실행된 것과 결과가 동일해야한다.
    • 지속성 : 트랜잭션이 커밋되면 장애가 발생하더라도 데이터가 손실되지 않아야한다.
    • 이벤트 소싱 : 사실과 상태를 저장하는 것, 상태를 사실에서 일차적으로 파생된 값이며 일시적이다.
    • 프로젝션 : 이벤트 소싱에서 현재와 같은 특정 시점의 상태를 계산하는 작업
    • 이벤트스토어
      • 새로운 이벤트를 저장하고, 올바른 시퀀스를 할당하여 저장된 순서대로 인베트를 검색해야함
      • 관심 있는 이벤트에 대한 프로젝션을 생성한 구독자에게 알림을 생성하고 경쟁 소비자 패턴을 활성화 하는 기능
      • 조정 흐름을 위해 특정 유형의 이벤트 X 이후에 N개의 이벤트를 가져올 수 있는 기능

 

 그래서 이 책은...

 

  1. 마이크로서비스에 대한 기본 개념을 잡기에 좋다.
  2. 뒷부분에 실제 AWS, 도커, 테라폼에 대한 실전예제도 들어있어서 직접 해 보기에도 좋을 것 같다.
본 포스팅은 정답노트라기 보다는
경험과 생각을 정리한 낙서장입니다.

 

반응형

댓글