Monolitic 어플리케이션을 여러개의 서비스로 나누다 보니 서비스도 많아지고 그에 따라 인스턴스의 개수도 엄청나게 늘어난다. 또한 오토스케일링 기술을 사용하며 동적으로 ip가 바뀌기도 한다. 그래서 기존과 같은 방법으로 이를 관리하기는 힘들다. 그래서 Cloud를 활용해서 이런 이슈를 해결하려고 나온 기술이 바로 Service Discovery를 해주는 Spring Cloud Netflix Eureka 라는 것이다. Eureka는 기존에 물리적인 서버에 직접 설정을 했던 부분들을 대신해 Service Registry를 해주는 역할을 한다. 이것은 서비스 간에 물리적인 주소로 호출을 하는게 아닌 인스턴스 정보를 중앙 시스템에 등록을 하고 이 중앙 시스템을 통해서 호출을 하는 구조이다. 위 그림이 가장 ..
MSA (Micro Service Architecture) 가 이쪽 업계에서는 아주 뜨겁다. JD를 봐도 MSA 경험자 찾는 회사들이 엄청나게 많아진걸 보면 대세가 되어가고 있는듯 하다. 조금 공부를 해보니 그렇게 될 수밖에 없는듯 하다. MSA는 기존의 하나의 application 형태(Monolithic Architecture)가 아닌 application을 서비스별로 나누어 독립적으로 개발하는 아키텍처를 말한다. 각 서비스들은 API 호출을 하는 형식으로 통신을 한다. 아주 간단한 정의이다. MSA의 목적 (장점)그럼 왜 멀쩡히 잘 돌아가는 서비스를 골치 아프게 나눌까? 여러가지 이유가 있다. 빠르고 간단한 배포시스템의 선택적 확장Polyglot 아키텍처 지원 제목의 간단히 라는 컨셉에 맞게 MSA..