본문 바로가기
Spring/Cloud

Spring Cloud란?

by y.j 2022. 6. 5.
728x90

Spring Cloud란?

 Spring Cloud란 분산시스템에서 환경이나 서비스 등.. 일반적인 패턴을 빠르게 빌드하는 툴이다. 분산시스템의 코디네이션은 boiler plate패턴을 리드하는 것이고 이 패턴을 구현함으로 서비스나 어플레이션을 빠르게 준비시키는 것이다. 

 

 

Features 

  • Distributed/versioned configuration
  • Service registration and discovery
  • Routing
  • Service-to-service calls
  • Load balancing
  • Circuit Breakers
  • Global locks
  • Leadership election and cluster state
  • Distributed messaging

 

웹서비스 확장 전략

실무 개발 유형

  • 솔루션 개발 : DB접근제어, 암호화, B2B
  • 서비스 개발 ( 고가용성 ) : B2C

 

스케일 업을 통한 서비스 확장

기존의 서버를 보다 높은 사양으로 업그레이드 한다.

 

장점

  • 스케일 업 아키텍처에서는 추가적인 네트워크 연결 없이 용량을 증강할 수 있다. 스케일 아웃보다 관리 비용이나 운영 이슈가 적고, 사양만 올리면 되는 것이기 때문에 비교적 쉽다.

단점

  • 다만 성능 향상에 한계가 있으며 성능 향상에 따른 비용부담이 크고, 서버 한 대가 부담하는 양이 많아서 자연재해 등의 다양한 이유로 서버에 문제가 생기면 큰 타격을 입게 된다.
  • 또한 기존의 서버를 교체함으로써 성능을 올릴 때에는 서비스를 이용할 수 없는 다운타임이 불가피하다.

 

 

스케일 아웃을 통한 서비스 확장

장비를 추가해서 확장하는 방식이다.

 

장점

  • 스케일 아웃 아키텍처의 가장 큰 장점 중 하나는 확장의 유연성에 있다.
  • 스케일 업 시스템을 구축한 상황에서는 향후 확장 가능성에 대비해 서버를 현재 필요한 만큼보다 더 많은 용량이나 성능을 확보해놓는 경우가 많다.
  • 그러나 이런 경우 예상했던 정도와 요구되는 정도가 다르거나, 확장의 필요성이 없어졌을 경우 추가로 확보해놓은 만큼의 손해가 발생하게 된다.
  • 스케일 아웃 방식으로 시스템을 구축한 상황에서는 서버를 필요한 만큼만 도입해 놓고, 장기적인 용량 증가 추이를 예측할 필요 없이 그때그때 필요한 만큼 서버를 추가해 용량과 성능을 확장(pay-as-you-grow)할 수 있게 된다.

단점

  • 여러 노드를 연결해 병렬 컴퓨팅 환경을 구성하고 유지하려면 아키텍처에 대한 높은 이해도가 요구된다. 서버의 수가 늘어날수록 관리가 힘들어지는 부분이 있고, 아키텍처의 설계 단계에서부터 고려되어야 할 필요가 있기 때문이다.
  • 여러 노드에 부하를 균등하게 분산시키기 위해 로드 밸런싱(load balancing)이 필요하고, 노드를 확장할수록 문제 발생의 잠재 원인 또한 추가한 만큼 늘어나게 된다.

 

블루그린 배포 방식

 무중단 배포방식 중 하나로 운영중인 구버전과 동일하게 신버전의 인스턴스를 구성한 후 로드밸런서를 통해 모든 트래픽을 신버전 쪽으로 전환하는 방식이다. 블루는 구 버전을 뜻하고 그린은 신 버전을 뜻한다.

장점

  • 구버전의 인스턴스가 그대로 남아있어서 손쉬운 롤백이 가능하다.
  • 구버전의 환경을 다음 배포에 재사용할 수 있다.
  • 운영환경에 영향을 주지 않고 새 버전 테스트 가능.

 

단점

  • 시스템 자원이 두배로 필요하다.
  • 새로운 환경에 대한 테스트가 전제되어야 한다.

 

서버 부하 분산을 위한 네트워크

분산시스템에서 서버간의 부하를 분산시키지만 마치 하나인 것처럼 사용하게 하는 네트워크

서버

  • 무언가를 제공하는 대상 혹은 그 주체

부하

  • Load

분산

  • 갈라져 흩어짐, 또는 그렇게 되게 함

네트워크

  • 통신설비를 갖춘 컴퓨터를 이용해 서로 연결시켜주는 조직이나 체계
  • 어떠한 일이나 문제점을 처리하는 데 긴밀하게 연결되어 효율적으로 움직일 수 있는 체계

 

[ 참고 ]

https://tecoble.techcourse.co.kr/post/2021-10-12-scale-up-scale-out/

https://llshl.tistory.com/47

 

728x90

댓글