마이크로서비스란

youjeans·2023년 9월 19일
post-thumbnail

<이미지 출처: rancher blog>

참고한 유튜브 : 코딩애플 - 마이크로서비스가 뭔데 유행임
참고 포스트: 모놀리식 vs 마이크로서비스, 어떤 아키텍처를 선택할까? - 요즘IT

마이크로서비스는 여러 기능을 한 곳에 개발하는 게 아니라 기능들을 잘게 잘라서 독립적인 서비스로 만들고 API를 통해 필요할 때마다 통신하여 사용하는 것을 말한다.

장점

  1. 프로그램 수정, 개선이 빠름

    큰 프로젝트가 아니라 작은 서비스 하나만 수정하면 되니까

  2. 기존 라이브러리나 프레임워크 버전 UP하는 것도 쉽고 간단

  3. 서비스가 독립적으로 돌아가다보니 서비스별로 자유로운 기술 스텍 선정가능

  4. 트래픽이 몰리는 서비스가 있으면 그 서비스만 선택해서 사이즈 키울 수 있기 떄문에 클라우드 자원을 효율적으로 사용할 수 있음

단점

  1. 운영복잡도 증가(개발 복잡도는 낮아지지만 운영 복잡도가 증가함)
  2. 통신이 많을때 오래걸리거나 누락되는 경우가 가끔 발생
  3. 버그나 이슈가 발생했을때 어떤 서비스에서 발생했는 원인을 찾기 어려울 수 있음

마이크로 서비스를 운영할때 자주 쓰는 기술이나 툴들

  1. 컨테이너에 담아서 서비스를 배포할 수 있는 기술 ex) docker

  2. 많아진 컨테이너를 관리(자동화)하기 위해 사용하는 플랫폼 ex) kubernetes

  3. 서비스간의 메세지를 주고 받을 떄 빠르고 효율적으로 주고 받기 위해 사용 하는 오픈소스 메시징 시스템 ex) kafka

  4. 서비스들을 모니터링 하기위한 툴 ex) Prometheus

    다음 용어 : RestAPI
    마이크로서비스 > RestAPI

profile
얼레벌레 1년차가 된 개발자

0개의 댓글