Microservice

majungha·2023년 4월 25일
1

메모

목록 보기
36/57

오늘의 공부 👍

오늘은 Microservice에 대해서 알아보겠다.

📝 Microservice


  • Nestjs 폴더를 여러개 나누기 (DB도 같이 나눠야함)

▷ 모놀리식 아키텍처(Monolithic Architecture)

출처: https://www.nginx.com/blog/introduction-to-microservices/

  • 로그인, 파일 업로드, 결제 등 필요한 역할별로 개발을 하고, 개발이 완료되면 하나로 묶어서 배포한다.
  • 하나의 프로젝트를 개발하고 테스트하고 빌드하기 때문에 단순하다.

- 단점

  • 한 기능이 문제가 생기면 모든 기능이 엉켜버리는 문제가 발생할 수 있다.
  • 서비스가 점점 커질경우 하나의 프로젝트로 함께 묶는것이 점점 버거워지고 복잡해지게 된다.
  • 소스코드 전체를 빌드/배포 하려면 오래 걸린다.
    • ex) 게시판 API가 바뀌면 모든 소스코드를 다시 빌드/배포 해야한다.
  • 개발자를 채용하는 데 한정적이다. (NestJS이면 NestJS 개발자만 채용 해야함)

▷ 마이크로서비스 아키텍처(Microservice Architecture)

모놀리식 아키텍처의 단점을 보완하기 위해 나온 것이 마이크로서비스 아키텍처(Microservice Architecture)다.

출처: https://www.nginx.com/blog/introduction-to-microservices/

  • 한 프로젝트를 여러 작은 서비스로 분리하여 개발하고 운영, 배포하는 방법이다.
  • 여러 모듈로 분리했기 때문에 팀별로 독립적으로 개발할 수 있다.
  • 서비스 운영시, 만나게 되는 장애로부터 조금은 더 자유로워 질 수 있다.
  • 어떠한 기능에 장애가 생겨도 해당 API만 사용이 불가능하고, 다른 기능에는 문제없이 서비스를 운영할 수 있게 된다.

- 단점

전체적인 기술 복잡도가 증가한다. (작은 서비스보다 큰 서비스에서 많이 사용)


출처 및 참고
코드캠프

profile
개발자 블로그 / 항상 겸손한 자세로 배우면서 성장하자 할 수 있다!

0개의 댓글