728x90
반응형

MSA 2

마이크로서비스 5개 배포 원칙

마이크로서비스 5개 배포 원칙 실행 격리 Isolated execution 부하가 발생하거나 배포를 할 때 마이크로서비스 간에 영향을 주면 안된다. 예를 들어 하나의 호스트에서 여러 마이크로서비스를 실행하게 되면 어떠한 서비스의 부하가 증가하게 되는 순간 다른 마이크로서비스들이 다 같이 성능이 저하되거나 혹은 마이크로서비스 배포를 위해서 리눅스 os 설정 등을 변경하게 되면 다른 마이크로서비스 배포에 영향을 준다거나 이런 상태를 해결하기 위해 마이크로서비스는 서로 격리된 환경에서 실행되어야 한다. 가상화 기술, 컨테이너, FaaS 등을 사용하면 격리가 쉬워진다. 물리적 장비를 사용하면 강하게 격리를 할 수 있고, 컨테이너를 사용하면 상대적으로 빠르게 격리를 할 수 있다. 자동화에 초점 Focus on a..

IT/아키텍처 2023.01.26

마이크로서비스 핵심 개념

마이크로서비스 6가지 핵심 개념 독립적 배포 핵심 개념 중에 한 가지만 골라야 한다면 '독립적 배포' 가 가장 중요하다. 다른 마이크로서비스를 변경/배포하지 않으면서, 마이크로서비스를 변경, 배포, 출시할 수 있어야한다. 이를 위해 마이크로서비스 간에 결합도를 낮춰야 한다. 즉 서비스 간에 명시적이고, 잘 정의되어 있고 안정적인 API 명세가 필요하다. 비즈니스 도메인을 중심으로 모델링 도메인을 기준으로 서비스 경계를 정의한다. 즉, 하나의 마이크로서비스가 특정 기능에 필요한 전체를 구현한다. 이렇게 되면 새 기능을 출시하는게 쉬워진다. 여러 마이크로서비스의 기능을 조합해서 새로운 기능을 구현하는게 쉬워진다. 한 기능이 여러 마이크로서비스에 걸쳐 있으면 기능을 출시하는 비용이 올라간다. 서비스 간에 조율..

IT/아키텍처 2023.01.26
728x90
반응형