[CS] Microservice

·2023년 1월 27일
0

🌨️ Microservice는 무엇인가?


마이크로서비스는 무엇일까? 위키백과에 따르면 다음과 같다고 한다. 어플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처 스타일의 일종인 소프트웨어 개발 기법으로 섬세하고 프로토콜이 가벼운 편이라고 한다.

어플리케이션을 더 작게 여러 서비스로 분할 할 때의 장점으로 모듈성을 개선하고 어플리케이션의 이해, 개발, 테스트를 더욱 쉽게 해주고 침식에 더 탄력적으로 만들어준다는 부분을 꼽을 수 있고, 규모가 작은 자율적인 팀들이 팀별 서비스를 독립적으로 개발, 전개, 규모 확장을 할 수 있게 함으로써 병렬로 개발할 수 있게 한다고 한다. 또 지속적인 리팩토링을 통해 각각의 서비스 아키텍처가 하나로 병합될 수 있게 허용해 주며 지속적 배포와 전개를 가능하게 한다고 한다.

🌨️ Microservice를 사용하는 이유


위에서 설명했듯이 작은 서비스로 분할한 후 하나의 시스템을 제공하는 아키텍처이기에 독립적이며 느슨하게 결합되어있고 배포 역시 독립적으로 가능하기에 전체 프로그램을 빌드한 뒤에 재배치 하지 않고도 기존 서비스들을 업데이트하는 게 가능하다고 한다.

👍 마이크로서비스의 장점


  • 전체프로그램을 다시 배포하지 않고 업데이트 가능
  • 독립적으로 개발 가능
  • 서비스 하나가 다운되더라도 전체 서비스에 영향을 끼치지 않음
  • 서비스를 독립적으로 확장가능하고 리소스의 유연한 운용 가능

👎 마이크로서비스의 단점


  • 서비스간 통신방법이 필요하고 복잡함
  • 서비스끼리의 테스트가 어려움
  • 복잡하고 독립된 구조로 인해 통합적인 유지관리가 어려울 수 있음


참고자료
https://gruuuuu.github.io/cloud/architecture-microservice/

profile
뉴비는 문서화를 습관화 해보자

0개의 댓글