[개념] 마이크로 서비스(Microservice Architecture. MSA)

2016. 9. 26. 23:12·개념

<모노리스서비스의 개요>

마이크로서비스의 반대되는 개념이 모노리스서비스입니다. 기존에 운영하던 시스템은 모든 서비스가 하나의 시스템에 구현되어 있었습니다. 쇼핑몰을 예로 들면 정산, 판매, 입고 시스템이 하나의 서비스로 운영되는 구조입니다.


모노리스서비스로 개발된 애플리케이션의 경우 시스템이 커질수록 빌드 배포가 어렵고 복잡해집니다. 이러한 문제점을 해결하기 위하여 나타난 개념이 마이크로 서비스이다. 


<마이크로서비스의 개요>

마이크로서비스는 애플리케이션의 구성요소를 특정 목적별로 분리한되 독립적으로 작동할 수 있는 작은 서비스로 만들고, 

이 서비스들을 조합하여 완성된 애플리케이션으로 조립하는 개발형태를 말한다.

이때 각 서비스들은 API와 HTTP를 이용한 REST Api를 이용하여 연결한다. 

각 서비스들은 독립적으로 존재하고 작동하며, 각자 관리 및 업데이트 된다.


쇼핑몰을 예로 들면 정산시스템은 node.js로 만들고, 판매시스템은 spring으로 만들고, 입고시스템은 django로 만들어서 각각의 서비스를 분리하고 서비스들 간의 연결은 REST Api를 이용하는 것입니다.


<장점>

  • 서비스 별로 다양한 언어 사용이 가능
  • 개발자는 특정 서비스에만 집중하면 됨
  • 특정 서비스이 배포를 위해 운영 전체를 중단하지 않아도 됨

<단점>

  • 개별적인 서비스에 대한 모니터링 오버헤드 증가
  • 서비스 장애에 대한 원인 분석이 어려움
  • 소규모 애플리케이션의 증가로 연동 및 동기화의 복잡성이 증가


마이크로서비스 아키텍처의 장단점 - http://www.popit.kr/why-microservice/

마이크로서비스 아키텍처 - https://brunch.co.kr/@insuk/30



마이크로서비스 아키텍처로 개발하기 from Jaewoo Ahn


<참고>

  • 마이크로 서비스 아키텍쳐 회고(바로가기)


반응형
저작자표시 비영리 (새창열림)

'개념' 카테고리의 다른 글

[개념] 프록시 서버  (0) 2016.11.07
[정보] IMEI(International Mobile Equipment Identity)  (0) 2016.10.11
[개념] 서버리스 구조(Serveless Architecture)  (0) 2016.06.27
[데이터 통신] 패리티 비트  (0) 2016.06.14
각 정렬 알고리즘별 속도 확인  (0) 2016.05.18
'개념' 카테고리의 다른 글
  • [개념] 프록시 서버
  • [정보] IMEI(International Mobile Equipment Identity)
  • [개념] 서버리스 구조(Serveless Architecture)
  • [데이터 통신] 패리티 비트
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    AWS
    mysql
    HIVE
    Tez
    알고리즘
    nodejs
    error
    오류
    HDFS
    ubuntu
    Linux
    하둡
    java
    백준
    hbase
    Hadoop
    k8s
    다이나믹
    S3
    정올
    파이썬
    yarn
    bash
    emr
    하이브
    airflow
    SPARK
    build
    oozie
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[개념] 마이크로 서비스(Microservice Architecture. MSA)
상단으로

티스토리툴바