You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

마이크로 서비스를 위한 고려사항:

  • 서비스 배포 실행 자동화(+도커,+AWS)
  • 설정의 중앙화
  • 모니터링
  • 로드 밸런스와 효율적인 라우팅 방법
  • 유연한 고성능 메시지큐 필요


분산 마이크로 서비스를 위한 선택지는 많이 있고 컨셉은 유사하기때문에 다른진영것을 살펴보는것도 도움이됩니다.

Spring Boot


여기서는 Spring + Netflix Cloud 조합사용을 시도해보겠습니다.

실험대상 : http://git.webnori.com/projects/SB2/repos/springcloud/browse


Goal

기존 레거시스템이 자동화가 안되고 관리가 어려운것은 사용하기 어려운 각기 다른 비표준 메시지 모듈과, 매번 다르게 작동되는 환경설정을 만들었기때문입니다.

이 프로젝트의 목적은 필자가 경험한 레거시스템을 모두 복원하는것이 아닌 최소한의 기능 샘플을 이용해 표준적으로 사용가능한 배포와 운영에 용이한

분산처리 가능한 시스템의 아키텍쳐를 직접 그려보고 구현해보는것입니다. 


위 분산 시스템은 비록 레거시 시스템이였지만, 몇가지 구성요소는 스케일 아웃이 가능한 서비스였습니다.

하지만 최근에는 스케일아웃이란 용어를 잘 쓰지 않습니다. 왜냐면 상황에 따라 스케일인/스케일 아웃이 가능한

Resilient(탄력적인) 이라는 용어를 사용하며, 궁극적으로 레거시시스템은 위 목표를 달성하기위해

디플로가 계획적이어야 했어며, 설정의 파편를 포함하여 몇가지 다른 패턴의 로드밸런스 시스템을 사용해야 했습니다.

결론적으로 자동화가 어렵고 운영하기가 쉽지 않았습니다.


위와 같은 형태의 서비스를 , Spring Boot Cloud 라는 비교적 단일 기술을 사용여 도커및 AWS에서 자동화 되는것은

이제는 분산시스템에 있어서 필수적인 아키텍쳐 방법이 되었습니다.




Other

  • No labels