ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Cloud
    Spring/Spring Boot 2019. 3. 25. 18:10
    반응형

    Spring boot 를 쓰면서 Spring cloud 에 대한 관심이 아주 높아 졌다. 뭔가 편하게 서포팅 해주려는 의도가 아주 명확하게 잘 들어난 기능

    이라고 생각한다.  그래서 생각한건 그렇다면 Spring cloud 에서 내가 관심있게 볼만한것들은 무엇이 있을까 하는 것이다. 


    공식 사이트가 가면 다양한 기능 들이 보인다. (https://spring.io/projects/spring-cloud)


    그중 내가 마음에 드는것만 선별 해서 기록하려고한다. 내가 여태 경험했던 것들과 대조해서 앞으로도 사용 할법한것들이나 사용해보고 싶은것들을 정리해놓고 하나하나 시도 해보고 싶다. 


    -Spring Cloud Config

     git 저장소를 이용하여 설정 리소스를 Spring 에서 자동 매핑하여 반영하는 기능으로 보인다. 실 라이브상태의 서비스를 구성하여 유지보수할때 굉장히 유용하게 사용가능할거 같은 기능이다. 


    -Spring Cloud Netflix

     내가 가장 지금 0순위로 관심있는 기능이다. Eureka, Hystrix, Zuul 등 현재 가장 핫한 넷프릭스의 시스템에서 사용중인 기능들 특히 API 게이트웨이에 대한 기능을 쉽게 제공하여 좋은기능인거 같다. 단지 아직 Zuul 경우 Zuul2 가 아닌 1 버전만 지원하는걸로 알고 있어서 좀 아쉽다. 


    -Spring Cloud Cluster

     Zookeeper, Redis ,Hazlecast 등 리더쉽선거 기반의 구현을 가능하게 해주는 설정 같다. 좀더 확인을 해봐야겠지만 spring 자체에서 어느정도 저런 솔루션들을 연동하여 사용할수 있게 해주는거 같다. 


    -Spring Cloud Security

     Spring으로 OAuth 를 구현한다면 특히 Zuul 을 사용하여 구현한다면 OAuth2 기반으로 클라이언트 및 인증 헤더 들 연결들을 지원해주는것으로 보인다. Zuul 을 사용해보고 싶기 때문에 일단 Keep! 



    -Spring Cloud Stream

     시스템이 가볍다면 Kafka 나 RabbitMQ 를 사용하여 메세지를 주고 받는 시스템을 빠르게 구축할수 있게 도와준다. Kafka 또한 관심이 있는 부분이라 응용가능할지 확인이 필요할거 같다. 


    -Spring Cloud Zookeeper

     Spring 자체적으로 지원하는 Zookeeper 서비스 , Kafka 사용시 굉장히 도움이 될거 같다. 


    -Spring Cloud AWS

     AWS 와 연동하여 사용하기 편하도록 기능을 제공한다. 최대한의 인프라에 대한 유지관리에 신경을 쓰지 않도록 해주는것이 특징인거 같다. 


    -Spring Cloud Pipelines

     배포를위한 파이프라인을 제공하여 어플리케이션을 중단시간이 없이 배포 할수 있게 해주는 기능을 제공한다. 롤백도 쉽게 되도록 한다. 

    무중단 배포를 위한 시스템구성을 요구하는 회사들을 많이 경험해 봤기 때문에 이기능은 필히 공부 해볼 필요가 있어 보인다.



    이것 이외에 Spring 답게(?) 여러기능들이 있었지만 일단 표현하는 단순 글이나 가볍게 찾아본 결과 내가 Spring Cloud 를 사용한다면 아마 이정도 기능들에 대해서 관심을 가질거 같다.  빅데이터처리나 API 게이트웨이를 이용한 Micro Service , 대용량 데이터 처리를 위해선 여러가지 제품들을 알아보고 공부할 필요가 있다고 생각한다. 그런 의미로 봤을때 Spring 이 완벽하게 마음에 들게 100% 제공하지는 않지만 쉽게 사용할수 있다면 나말고 다른사람들이 봤을때 파악이 용이할거 같다. 그렇다면 구축도 나름 빠르고 쉽게 가능하고 유지보수측면에서도 이점이 있다면 필요한 퍼포먼스에 따라 이런 기능들을 사용해보는것도 괜찮다고 생각한다.

     Spring Netfrix 같은 경우 여건이 안되 스터디만하고 구축은 못했지만 나름 조언을 얻어 본결과 Zuul 를 그냥 구성할경우 와 Spring 을 이용할경우 환경 세팅이 확연히 차이가 날정도로 쉽다고 한다. 나도 그렇게 느꼈다. 

     개발자는 평생 공부해야하는 직업인거 같다. 올해안에 어디까지 할지 모르겠지만 스터디 되는대로 계속 이곳에 업데이트 해야겠다.




    반응형
Designed by Tistory.