마이크로 서비스 아키텍처 살펴보기
요즘 마이크로 서비스라는 용어를 자주 듣게 될 것입니다. 마이크로 서비스는 자율적이고, 독립적으로 배포할 수 있고, 스케일링 가능한 소프트웨어 구성 요소입니다.
해당 구성 요소는 작고, 하나의 작업을 잘 수행하는 데 집중되어 있으며, 자율적으로 실행할 수 있습니다. 하나의 마이크로 서비스가 변경되는 경우 환경 내의 다른 마이크로 서비스에 영향을 주지 않아야 합니다.
마이크로 서비스 아키텍처를 선택하여 개별적으로 개발, 테스트, 배포할 수 있는 서비스 환경을 만듭니다. 이는 다른 위험과 복잡성을 의미합니다.
인터페이스 및 인터페이스가 상호 작용하는 방법을 추적하기 위해 만든 경우 가장 적합합니다. 그리고 하나가 아닌 여러 애플리케이션 수명 주기를 유지 관리해야 합니다.
기존 애플리케이션에서는 종종 다중 계층 아키텍처를 볼 수 있습니다.
UI가 있는 계층 하나, 비즈니스 논리와 서비스를 포함하는 계층, 데이터 서비스를 포함하는 계층이 있습니다.
UI와 백 엔드를 위한 전용 팀이 있는 경우가 있습니다. 무엇인가 변경해야 하는 경우에는 모든 계층에서 변경해야 합니다.
마이크로 서비스 아키텍처로 이동할 때 이러한 모든 계층은 동일한 마이크로 서비스의 부분입니다.
마이크로 서비스에는 하나의 특정 함수만 포함됩니다.
마이크로 서비스 간 상호 작용은 비동기식으로 수행됩니다.
서로를 직접 호출하는 것이 아니라 큐 또는 이벤트와 같은 비동기 메커니즘을 사용합니다.
각 마이크로 서비스에는 수명 주기와 지속적인 업데이트 파이프라인이 있습니다. 올바르게 빌드한 경우 시스템의 다른 부분에 영향을 주지 않고 새 마이크로 서비스 버전을 배포할 수 있습니다.
마이크로 서비스 아키텍처는 지속적인 업데이트를 수행하기 위한 필수 조건이 아니지만, 작은 소프트웨어 구성 요소는 완전 자동화된 파이프라인을 구현하는 데 도움이 됩니다.