Spring Cloud - Neflix OSS

Spring Cloud with 넷플릭스 OSS

SpringCloude 사내에서 MSA도입을 준비하고 있지 않지만, 향후 MSA로 전환은 피할수 없을 것 같아서, 기존 인프라를 MSA로 전환할때 어떻게 해야하나 선행 스터디를 하고 있다.

SpringCloud에 Netflix 오픈소스를 사용해서 서비스하는 여러 사례들을 보고, 한번 해보고자 해서 스터디를 하고 있는데, 정말 편리하고 좋다는 생각이 하면 할 수록 든다.

이 스터디를 통해서, 현재 내부에서 서비스 중인 프로그램등 중에 몇가지 MSA로 구성할까 하는 생각중이다. 부하가 많이 걸리고, 분산이 필요한 서비스를 MSA로 전환하여 서비스를 하면 좋겠다라는 생각이 든다.

Monolithic Architecture VS MSA


maVSmsa


SpringCloud


SpringCloud Spring Cloud는 분산 시스템에서 공통적인 부분(구성, 서비스검색, 라우팅, 프록시 등)을 도와준다. 그리고 마이크로 서비스의 개수가 늘어나게 되면 관리가 어렵게 되고, 이를 해결하기위하 사용한다.

개발자가 분산시스템 구현에 필요한 부분의 대한 부담을 덜고, 각 서비스의 기능에 충실할 수 있도록 라이브러리의 형태로 제공한다.


Netflix OSS

Netflix는 전 세계에서 MSA를 가장 잘 적용한 서비스 중 하나이며, Java기반으로 오픈소스로 공개되었다. 적용해야할 서비스를 찾아봐야겠다.


1. Zuul


Zuul API-Gateway 모든 클라이언트의 요청에 대한 End-point를 통합하는 서버

2. Eureka


Eureka Client Side Service Discovery

3. Hystrix


Hystrix
Circuit Breaker

4. Ribbon


Ribbon Client Side Load Balancing


스터디하면서, 적용여부 검토해봐야겠다.