본문 바로가기
개발일기

마이크로서비스 핵심 개념 6가지

by Nhahan 2023. 5. 13.

독립적 배포

  • 하나의 마이크로 서비스만 단독으로 배포 가능해야함.

도메인을 중심의 모델링

  • 한 마이크로서비스, 한 기능(즉, 결합도를 최대한 낮춰야함)

고유한 상태를 가짐

  • 마이크로서비스 간 DB를 고유하지 않음. 데이터를 공유하지 않음

크기가 적당해야함

  • 마이크로서비스는 조직이 다룰 수 있는 개수 이상을 넘어가지 말아야함(복잡도를 키우지 말아야한다는 뜻인듯)
  • 마이크로서비스 간의 경계를 명확하게 정의

유연함

  • 판을 키우지 말고 점진적으로 마이크로서비스로 넘어가는 것을 권장
    • 마이크로서비스는 옵션이기 때문에 맹목적으로 매몰될 필요는 없다라고 해석됨
    • 전 회사에서도 MSA로 가기로 결정 후 장바구니 관련 서비스를 따로 마이크로서비스로 뺐었음

아키텍쳐와 조직을 맞추기

  • 조직 구조를 아키텍쳐에 맞게, 도메인에 맞게 편성
    • 프론트팀, 백엔드팀, 데브옵스팀, DB팀 등으로 나누는게 아니라 '상품팀' '유저팀' '구매팀'처럼 도메인에 맞춰 조직을 편성

 

 

가장 중요한 건 '독립적 배포'라 했으니 나머지는 유연하게 회사 상황에 맞춰 꾸리는 것이 중요해보인다.

 

댓글