🌨️ Microservice는 무엇인가?
마이크로서비스는 무엇일까? 위키백과에 따르면 다음과 같다고 한다. 어플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처 스타일의 일종인 소프트웨어 개발 기법으로 섬세하고 프로토콜이 가벼운 편이라고 한다.
어플리케이션을 더 작게 여러 서비스로 분할 할 때의 장점으로 모듈성을 개선하고 어플리케이션의 이해, 개발, 테스트를 더욱 쉽게 해주고 침식에 더 탄력적으로 만들어준다는 부분을 꼽을 수 있고, 규모가 작은 자율적인 팀들이 팀별 서비스를 독립적으로 개발, 전개, 규모 확장을 할 수 있게 함으로써 병렬로 개발할 수 있게 한다고 한다. 또 지속적인 리팩토링을 통해 각각의 서비스 아키텍처가 하나로 병합될 수 있게 허용해 주며 지속적 배포와 전개를 가능하게 한다고 한다.
🌨️ Microservice를 사용하는 이유
위에서 설명했듯이 작은 서비스로 분할한 후 하나의 시스템을 제공하는 아키텍처이기에 독립적이며 느슨하게 결합되어있고 배포 역시 독립적으로 가능하기에 전체 프로그램을 빌드한 뒤에 재배치 하지 않고도 기존 서비스들을 업데이트하는 게 가능하다고 한다.
마이크로서비스의 장점
- 전체프로그램을 다시 배포하지 않고 업데이트 가능
- 독립적으로 개발 가능
- 서비스 하나가 다운되더라도 전체 서비스에 영향을 끼치지 않음
- 서비스를 독립적으로 확장가능하고 리소스의 유연한 운용 가능
마이크로서비스의 단점
- 서비스간 통신방법이 필요하고 복잡함
- 서비스끼리의 테스트가 어려움
- 복잡하고 독립된 구조로 인해 통합적인 유지관리가 어려울 수 있음
참조 : https://gruuuuu.github.io/cloud/architecture-microservice/
MicroService Architecture란?
1. Overview 최근 클라우드, 컨테이너 시장이 급격히 성장하면서 마이크로서비스라는 단어가 많이 들리고 있습니다. 이번 포스팅에서는 마이크로서비스가 무엇인지에 대해서 알아보겠습니다. 2. Mi
gruuuuu.github.io
'📖 TIL > Node.js' 카테고리의 다른 글
[Node.js] 라이브러리 lodash (0) | 2022.03.29 |
---|---|
[Node.js] CI/CD (0) | 2022.03.28 |
[Node.js] BigQuery (0) | 2022.03.21 |
[Node.js] REDIS (0) | 2022.03.20 |
[Node.js] Elastic Search (0) | 2022.03.19 |