마이크로 서비스 <-> 모놀리스
모놀리스 애플리케이션:
모놀리스 애플리케이션은 모든것이 서로 강하게 결합돼 있고, 전체가 하나의 운영체제 프로세스로 실행되기 때문에 하나의 개체로 개발, 배포, 관리돼야한다.애플리케이션의 한 부분을 변경하더라도 전체 애플리케이션을 재배포해야하며, 시간이 지남에 따라 구성 요소간의 관계가 불분명해지고 상호의존성의 제약이 커지면서 전체 시스템의 복잡성이 증가하고 품질이 저하된다.일반적으로 모놀리스 애플리케이션을 실행하려면 애플리케이션을 실행하는데 충분한 리소스를 제공할 수 있는 소수의 강력한 서버가 필요하다. 시스템의 증가하는 부하를 처리하려고 CPU, 메모리, 그 밖의 서버 구성 요소를 추가해 서버를 수직 확장하거나 ㅓ버를 추가하고 애플리케이션의 복사본을 실행해 전체 시스템을 수평확장 해야한다. 수직확장은 일반적으로 애플리케이션을 변경할 필요가 없지만 비교적 비용이 많이 들고 실제로는 확장에 한계가 있다.
마이크로서비스:
마이크로서비스는 애플리케이션을 느슨하게 결합된 서비스의 모임으로 구조화하는 서비스 지향 아키텍처 (SOA) 스타일의 일종인 소프트웨어 개발 기법이다. 마이크로서비스 아키텍처에서 서비스들은 섬세하고 프로토콜을 가벼운 편이다. 패클리케이션을 더 조그마한 여러 서비스로 분해할 때의 장점은 모듈성을 개선하고 애플리케이션의 이해, 개발, 테스트를 더 쉽게 해주고 애플리케이션 침시게 더 탄력적으로 만들어준다. 규모가 작은 자율적인 팀들이 팀별 서비스를 독립적으로 개발, 전개, 규모 확장을 할 수 있게 함으로써 병렬로 개발할 수 있게 한다. 또, 지속적인 리팩터링을 통해 개개의 서비스가 아키텍처 하나로 병합될 수 있게 허용한다. 마이크로서비스 기반 아키텍처는 지속적 배포와 전개를 가능케한다.
- 위키백과
ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4
전공 공부 기록 📘
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!