Spring Cloud?

블로그에 Spring Cloud라는 카테고리를 새로 만들었습니다. 앞으로 Spring Cloud와 관련된 것들을 공부하고 글을 작성해보려고 합니다. Spring Cloud에 대해서 공부하고 블로그에 글을 남겨봐야겠다는 생각이 갑자기 든 이유는 아래와 같습니다.

Dropbox에 있는 문서들을 정리하다가 현재 다니고 있는 회사에 지원했을 때 작성했던 이력서를 보게되었습니다. 2016년도 초반에 작성된 이력서 였는데, 아래와 같이 관심사, 앞으로 경험해 보고 싶은 것들에 대해 적어놓은 부분이 있었습니다.

2019-03-06 7 42 42

2016년도에 이직을 준비하면서 이러한 관심사를 가지고 있는 사람들이 있는 회사로 이직을 했으면 좋겠고, 같은 관심사를 가지고 있는 개발자들과 함께 더 나은 서비스 개발을 위해 노력하고 경험해보고 싶은 마음에서 작성했던 것 같습니다.

그리고 현재 2019년이 되어 작성했던 이력서들을 처음부터 자세히 읽어보니, 그 당시에 마음먹었던 것들, 특히 관심을 가지고 경험해보고자 했던것들을 정복(?)하지 못했다는 생각이 들었습니다.

지금이라도 하나씩 정복(?)을 해보자는 생각이 들었고, 첫번째로 MSA에 대한 부분을 타겟으로 잡았습니다.

저도 아직 실무에 사용해본적은 없어서 자세한 내용은 모르지만, 간단하게 Spring Cloud에 대해서 이야기를 하자면 아래와 같습니다.

Spring Cloud는 Spring Cloud Reference 에 설명되어 있는것 처럼 분산 시스템 개발에 필요한 공통적인 패턴들을 모아서 사용하기 쉬운 스프링 라이브러리 형태로 제공하는 것들입니다.

예를 들면 환경설정 외부화와 관련이 있는 Config Server, Routing과 관련이 있는 Zuul이나 Gateway, 서비스를 등록하고 탐색하는 Discovery 역할을 하는 Eureka 등이 존재한다고 알고 있습니다.

우선은 환경설정(일반적으로 Config, Properties, Yml들을 말합니다)과 관련된 정보들을 외부화된 환경설정 서버로 따로 두는 Spring Cloud Config Server와 이 Config Server를 사용하는 애플리케이션인 Config Client에 대해서 실습해보고 정리해보려고 합니다.

관련 내용은 실습, 정리하는대로 다음 글에 작성해보겠습니다.