Skip to main content

01.OK ! Stangler Pattern 변화를 위한 기술 조건은 ?

MSA를 해야 하는 이유를 살펴 보았다 http://web.joang.com:8083/books/01-why

그러면 MSA를 하기위한 조건은 어떻게 되는가 ? 

첫째로 우리는 마이크로한 서비스로 우리의 시스템을 재편해야 하고, 그러한 마이크로한 서비스는 하나의 서버로 구성(Pod)될 것이다. 그리고 그러한 하나하나의 서비스에 일정한 분량의 인프라 자원을 할당해야 하고 그리고 무수히 만들어지는 서비스를을 유지적으로 관리할 수 있는 환경을 구축해야 한다. 

1. 그럼 모노로틱한 서비스를 마이크로한 서비스로 분리할 때 마이크로 서비스는 어떻게 나누어질 수 있을까 ? 

2. 마이크로 서비스들이 하나 둘이면 크게 문제가 될 여지는 없지만, 마이크로서비스가 100여개가 넘어갈 때 어떻게 해야 하는가 ? 

3. 이제 마이크로한 서비스는 비교적 모노로틱한 서비스에 비하여 작게 나누어 지는데 그럼 작은 Linux 서버나 UNIX 서버를 그때 그때 사야 하는가 ? 

 

4. 주의할 점 

마이크로서비스는 역설적이게도 마이크로서비스로 만들지 말라는 것이다 . 즉 모노로틱한 서비스를 나누어 효율적으로 진화해 나가는 것이 마이크로서비스이기 때문에 미리 진화한 모습으로 만들지 말자 어떻게 진화할 지 모르는데 ... 단 아주 중요한 것은 모노로틱하게 우선 만들더라도 인터페이스를 활용하여 호출하는 형태로 나들라는 것이다 그래야 마이크로로 진화하는데 용이하다. 

둘째 마이크로서비스는 결코 마이크로만하지 않다는 것이다. 고정관념을 가지고 작은 것으로 나누는 것이 효율적이라는 선부른 생각은 버려야한다. 결코 마이크로서비스가 작은 단위의 서비스가 아니라는 것이다. 

Netflix가 되지 말아야 합니다. 우리 회사가 Netflix 는 아니니까