마이크로 서비스에 대해 읽어 봤는데 약간 흥미가 있는데 흥미로운 개념 인 것 같습니다. 하지만 모 놀리 식 아키텍처보다 마이크로 서비스를 사용하는 장점과 단점은 무엇이며 그 반대의 경우도 마찬가지입니다.
마이크로 서비스가 더 적합하고 모 놀리 식 아키텍처를 사용하는 것이 더 좋은 경우.
마이크로 서비스에 대해 읽어 봤는데 약간 흥미가 있는데 흥미로운 개념 인 것 같습니다. 하지만 모 놀리 식 아키텍처보다 마이크로 서비스를 사용하는 장점과 단점은 무엇이며 그 반대의 경우도 마찬가지입니다.
마이크로 서비스가 더 적합하고 모 놀리 식 아키텍처를 사용하는 것이 더 좋은 경우.
답변:
나는 마이크로 서비스 세계에 비교적 익숙하지 않지만 가능한 한 완벽하게 귀하의 질문에 대답하려고 노력할 것입니다.
마이크로 서비스 아키텍처를 사용하면 문제의 분리 및 분리가 증가합니다. 당신은 당신의 응용 프로그램을 흩 뿌리기 때문에.
그 결과 코드베이스를 더 쉽게 관리 할 수 있습니다 (각 애플리케이션은 다른 애플리케이션과 독립적으로 작동하여 실행됩니다). 따라서, 당신이이 권리를하는 경우 , 것입니다 새로운 기능을 추가하여 나중에 쉽게 응용 프로그램에. 모 놀리 식 아키텍처의 경우 애플리케이션이 크면 수행하기가 매우 어려울 수 있습니다 (언젠가는 그렇게 될 것이라고 가정 할 수 있습니다).
또한 독립적 인 마이크로 서비스를 별도로 구축하고 별도의 서버에 배포하므로 애플리케이션 배포가 더 쉽습니다 . 즉, 나머지 애플리케이션을 다시 빌드하지 않고도 원할 때마다 서비스를 빌드하고 배포 할 수 있습니다.
서로 다른 서비스가 작고 개별적으로 배포되기 때문에 애플리케이션의 특정 서비스를 확장 할 수 있다는 이점을 가지고 확장 하기가 더 쉽습니다. (모 놀리 식을 사용하면 전체 "사물"을 확장 할 수 있습니다. 과도한 부하를받는 애플리케이션).
그러나 향후 관리하기에는 너무 커질 의도가없는 애플리케이션의 경우. 모 놀리 식 아키텍처로 유지하는 것이 좋습니다. 마이크로 서비스 아키텍처에는 몇 가지 심각한 어려움이 있습니다. 마이크로 서비스를 배포하는 것이 더 쉽다고 말했지만 이것은 큰 모놀리스와 비교할 때만 사실입니다. 마이크로 서비스를 사용하면 서비스를 다른 위치의 다른 서버에 배포하는 복잡성이 추가되고이를 모두 관리 할 방법을 찾아야합니다. 마이크로 서비스를 구축하면 애플리케이션이 커지면 장기적으로 도움이되지만 소규모 애플리케이션의 경우 모 놀리 식 상태를 유지하는 것이 더 쉽습니다.
소수의 사람들이 마이크로 서비스에 대한 모든 소문에 이끌 리고 고려해야 할 절충점이 있기 때문에 이것은 매우 중요한 질문입니다. 그렇다면 (모 놀리 식 모델과 비교할 때) 마이크로 서비스의 이점과 과제는 무엇입니까?
이러한 장단점 을 이해 하면 다른 질문에 답하기 위해 알아야 할 한 가지가 더 있습니다. 마이크로 서비스 또는 모놀리스 중 어느 것이 더 낫습니까? 애플리케이션의 비 기능적 요구 사항 (품질 속성 요구 사항)을 알아야합니다. 예를 들어 성능과 확장 성이 얼마나 중요한지 이해하면 장단점을 평가하고 교육을 통해 설계 결정을 내릴 수 있습니다.
@Luxo가 자리 잡고 있습니다. 나는 약간의 변형을 제공하고 그것에 대한 조직적 관점을 가져오고 싶습니다. 마이크로 서비스는 애플리케이션을 분리 할 수있을뿐만 아니라 조직 수준에서도 도움이 될 수 있습니다. 예를 들어 조직은 여러 팀으로 나눌 수 있으며 각 팀은 팀이 제공 할 수있는 일련의 마이크로 서비스에서 개발할 수 있습니다.
예를 들어, Amazon과 같은 대형 상점에는 개인화 팀, 전자 상거래 팀, 인프라 서비스 팀 등이있을 수 있습니다. 마이크로 서비스에 들어가고 싶다면 Amazon이 그 좋은 예입니다. Jeff Bezos는 공유 기능에 대한 액세스가 필요한 경우 팀이 다른 팀의 서비스와 통신하도록 요구했습니다. 간단한 설명 은 여기 를 참조 하십시오 .
또한 Etsy와 Netflix의 엔지니어는 트위터에서 마이크로 서비스 대 모놀리스 시대에 작은 논쟁을 벌였습니다. 토론은 다소 덜 기술적이지만 몇 가지 통찰력도 제공 할 수 있습니다.