카테고리 없음
마이크로 서비스
namu445
2022. 6. 23. 11:28
- 서비스의 사이즈가 관리하기 어려울만큼 커지고있는 경우 서비스안의 기능을 나눠 별도의 서비스로 만들어 관리 개발하는 것
사용 이유
- 관리 목적으로 마이크로 서비스모델을 사용하는 이유는 모듈러 방식을 사용하는 것과 크게 다르지 않은 듯 하다, 하지만 하나 큰 이득이 있는데 빌드하고 실행하는데 걸리는 시간이 매우 적어질 것이다 => 나눠놓은 서비스 단위로 따로 실행된다
- 위험 분산을 위해 사용한다. 모놀리식 구조는 하나의 모듈에 문제가 생겨서 서비스가 다운되면 모든 기능을 사용할 수 없다. 기능 단위로 서버를 따로 만들면 하나의 기능을 담당하는 서버에 문제가 생겼을 때 다른 기능에 미치는 영향을 최소화 할 수 있다. (게이트웨이에 문제가 생기면 안된다) => 모든 기능을 나누는 것이 비효율적이라고 생각되면 중요 기능만 나누는 것도 괜찮을 듯 하다.
주의
- 서비스를 나누면 환경 설정, 모니터링 설정 등 모든 서버에 공통 설정을 해주고 연결하는 등의 일이 복잡해지고 통합 테스트 등의 설정도 난이도가 올라갑니다 => 이번에는 Docker를 사용함으로 이런 문제를 많이 해결할 수 있었던 것 같은데 물리적 서버도 나누는 경우가 생기면 (최소한 AWS EC2까지)오토 스케일링 설정 등의 난이도가 확실히 올라가갈 듯 하다.
<참조>
Introduction to Microservices | NGINX
Microservices are currently getting a lot of attention. This blog post is the first in a 7-part series about designing, building, & deploying microservices.
www.nginx.com