메뉴 건너뛰기

(*.168.0.1) 조회 수 238 추천 수 0 댓글 0
Atachment
첨부 '2'
?

단축키

Prev이전 문서

Next다음 문서

가 크게 작게 위로 아래로 댓글로 가기
Extra Form
출처 https://djlife.tistory.com/10
1.png

스프링 클라우드(Spring Cloud)는
 스프링 프레임워크 기반의 클라우드 네이티브 애플리케이션을 개발하기 위한 프로젝트입니다. 
 스프링 클라우드는 분산 시스템에서 필요한 다양한 기능들을 추상화하여 제공하고 있으며, 마이크로서비스 아키텍처를 구현할 때 유용하게 사용됩니다.

2.png

<스프링 클라우드 아키텍처>

출처 스프링 공식 문서 

스프링 클라우드는 다음과 같은 기능들을 제공합니다.

서비스 디스커버리(Service Discovery): 서비스 디스커버리는 마이크로서비스 환경에서 서비스를 검색하고 호출하기 위한 기능입니다. 스프링 클라우드는 Netflix OSS의 Eureka, Apache ZooKeeper, Consul 등 다양한 서비스 디스커버리 툴과 통합되어 있습니다.
API 게이트웨이(API Gateway): API 게이트웨이는 여러 개의 마이크로서비스에서 제공하는 API를 단일 진입점으로 노출시켜 주는 역할을 합니다. 스프링 클라우드는 Netflix OSS의 Zuul, Spring Cloud Gateway 등 다양한 API 게이트웨이를 제공합니다.

분산 설정(Distributed Configuration): 분산 설정은 마이크로서비스에서 필요한 설정 정보를 중앙에서 관리하고, 변경사항을 런타임 중에 적용할 수 있는 기능입니다. 스프링 클라우드는 분산 환경에서의 설정 관리를 위한 Spring Cloud Config를 제공합니다.
분산 추적(Distributed Tracing): 분산 추적은 분산 시스템에서의 트랜잭션 추적을 위한 기능입니다. 스프링 클라우드는 분산 추적을 위한 Spring Cloud Sleuth와 Zipkin을 제공합니다.
로드 밸런싱(Load Balancing): 로드 밸런싱은 여러 개의 인스턴스에서 제공되는 서비스를 균등하게 분산시켜 주는 기능입니다. 스프링 클라우드는 Ribbon을 사용한 로드 밸런싱을 제공합니다.
회로 차단기(Circuit Breaker): 회로 차단기는 마이크로서비스에서 일시적으로 문제가 발생하여 서비스가 다운될 때, 다운된 서비스에 대한 요청을 차단하고 다른 대체 서비스를 호출하는 기능입니다. 스프링 클라우드는 Netflix OSS의 Hystrix를 사용한 회로 차단기를 제공합니다.

위와 같은 기능을 제공하는 스프링 클라우드는 마이크로서비스 아키텍처에서 필수적 Spring Cloud는 
분산 시스템을 구축하고 운영하기 위한 일련의 프레임워크와 라이브러리를 제공하는 오픈 소스 프로젝트입니다. Spring Cloud는 여러 마이크로서비스를 각각의 독립적인 애플리케이션으로 개발하고, 이러한 애플리케이션들을 효과적으로 관리하고 운영하기 위한 여러 가지 기능을 제공합니다.
Spring Cloud는 Netflix OSS 프로젝트에서 시작한 것으로, Eureka, Ribbon, Hystrix, Zuul 등 다양한 서비스를 포함하고 있습니다. 
이러한 Spring Cloud의 기능들은 분산 시스템에서 필요한 기능들을 효과적으로 제공하며, 마이크로서비스 아키텍처의 개발 및 운영을 더욱 쉽고 편리하게 만듭니다.
Spring Cloud는 Spring Boot와 밀접하게 연관되어 있어서, Spring Boot를 기반으로 하는 애플리케이션에서 Spring Cloud 기능을 쉽게 활용할 수 있습니다. Spring Cloud는 Netflix OSS와 함께 Spring 프레임워크의 강력한 개발 생태계를 구성하고 있습니다.

더 이해하기 쉽게 설명하자면

Spring Cloud Config는 중앙 집중식으로 애플리케이션의 설정 정보를 관리할 수 있도록 해주는 프레임워크입니다. 
이를 통해, 애플리케이션의 설정 정보를 손쉽게 수정하고 배포할 수 있습니다. 
Config 서버는 Git, Subversion, Vault 등 다양한 백엔드를 지원하며, 
애플리케이션의 환경마다 다른 설정 정보를 저장하고 관리할 수 있습니다.

Spring Cloud Gateway는 API 게이트웨이 역할을 합니다. 
API 게이트웨이는 클라이언트의 요청을 받아서 애플리케이션으로 전달하고, 
애플리케이션의 응답을 클라이언트에게 반환합니다. 
Gateway를 사용하면, 여러 개의 서비스를 하나의 엔드포인트로 노출하거나, 요청의 라우팅, 필터링, 트래픽 제어 등을 수행할 수 있습니다. 
Gateway는 이를 위해 다양한 라우팅 방식을 제공합니다. 
예를 들어, URI, Hostname, Path, Query parameter 등을 이용한 라우팅 방식이 있습니다.

Spring Cloud Discovery는 서비스 디스커버리 역할을 합니다. 
서비스 디스커버리란, 분산 시스템에서 서비스 인스턴스의 위치와 상태를 검색하고 사용할 수 있는 기능을 의미합니다. 
Discovery를 사용하면, 서비스 인스턴스의 위치와 상태를 추적하고, 클라이언트가 서비스 인스턴스를 검색하고 사용할 수 있습니다. 

이를 위해 Discovery 클라이언트는 Eureka, Consul, Zookeeper 등 다양한 백엔드를 지원하며, 서비스 인스턴스의 상태를 추적하고, 이를 Config 서버에 등록하여 동적으로 구성 정보를 업데이트할 수 있습니다.

이들 프레임워크를 함께 사용하면, 
Config 서버에서 구성 정보를 가져와서 Gateway를 구성하고, Discovery를 사용하여 서비스 인스턴스를 검색하여 Gateway에 등록할 수 있습니다. 
이를 통해, 여러 개의 서비스 인스턴스를 투명하게 제공하고, 높은 가용성과 확장성을 보장할 수 있습니다. 
예를 들어, Config 서버에서 포트 정보를 가져와서 Gateway의 라우팅 규칙을 동적으로 업데이트하거나, 
Discovery를 사용하여 서비스 인스턴스의 상태를 추적하여 Gateway의 로드밸런싱 규칙을 동적으로 업데이트할 수 있습니다. 

감사합니다. 

* 관련 Doc. : https://spring.io/projects/spring-cloud


  1. 테라폼(Terraform) - 개념, 장점, 관리툴

    ▶ IAC가상화 기술의 발전 Iac 란 Iac 종류 ▶ TerraformTerraform 개념 Terraform 장점 Terraform 구성 사용관리 툴 들어가기전에.. IT산업에 종사하면서 도구의 사용법을 익히는 것도 중요하지만, 그 뒷 배경 또한 중요합니다. 오늘은 IAC의 배경부터 관련 도...
    Date2024.10.01 Views246
    Read More
  2. Elasticsearch, Apache Lucene( 아파치 루씬 ) 기반의 Java 오...

    1. Elasticsearch란? Elasticsearch는 Apache Lucene( 아파치 루씬 ) 기반의 Java 오픈소스 분산 검색 엔진입니다. Elasticsearch를 통해 루씬 라이브러리를 단독으로 사용할 수 있게 되었으며, 방대한 양의 데이터를 신속하게, 거의 실시간( NRT, Near Real T...
    Date2024.09.22 Views320
    Read More
  3. Apache Nifi 의 구성요소, 아키텍쳐

    Nifi란?Apache Nifi는 시스템 간 데이터 전달을 효율적으로 처리, 관리, 모니터링 하기에 최적화 된 시스템임. 대량의 데이터 수집, 처리가능 Dataflow를 쉽게 구성이 가능하며, 시스템 간의 데이터 이동과 내용을 볼 수 있는 UI제공 강력한 자원과 권한 관리...
    Date2024.09.22 Views305
    Read More
  4. 아파치 카프카(Apache Kafka)는 분산형 스트리밍 플랫폼

    세계 최대 비즈니스 네트워크 사이트인 LinkedIn 은 하나의 서비스에 과도하게 많은 시스템이 연결되어 있어 서비스를 유지하고 관리하는데 어려움을 겪고 있다. 또한 시스템 유지 보수 및 서비스 관리에도 많은 부담이 가해졌다. 이를 극복하기 위해 컨플루언...
    Date2024.09.22 Views296
    Read More
  5. 쿠버네티스 시작하기 - Kubernetes

    docker logo 2013년 등장한 도커docker는 인프라 세계를 컨테이너container 세상으로 바꿔버렸습니다. 수많은 애플리케이션이 컨테이너로 배포되고 도커파일을 만들어 이미지를 빌드하고 컨테이너를 배포하는 게 흔한 개발 프로세스가 되었습니다. 2019년 Doc...
    Date2024.09.21 Views263
    Read More
  6. [NCP] VPC Peering

    VPC Peering에서는 인터넷 통신을 거치지 않고 비공인 IP를 통해 내부 네트워크로 다른 VPC와 통신하도록 구성할 수 있습니다. VPC Peering을 통해 전용 네트워크의 확장 효과를 누릴 수 있으며 안전한 통신이 가능합니다. 네이버 클라우드 플랫폼의 VPC 서비...
    Date2024.09.21 Views244
    Read More
  7. [AWS] VPC Peering

    VPC Peering VPC Peering 이란 다른 VPC간에 Private IP로 통신가능하도록 연결하는 것을 말합니다. 보통의 VPC 간 통신은 Public IP를 통해 이루어집니다. Public IP를 통해 통신을 할 경우 데이터의 안전성에 대한 문제가 발생할 수 있습니다. VPC Peering을...
    Date2024.09.21 Views246
    Read More
  8. No Image

    CIDR을 통해 알아보는 서브넷 마스크와 IP 클래스

    들어가며 가상호스팅 서비스를 이용하다보면 호스팅된 서버에 접근가능한 대역을 설정할 때 CIDR방식을 사용하라고 권장한다. 예) CIDR 0.0.0.0/0 이면 모든 대역을 의미한다. /(슬래시) 뒤에나오는 숫자의 의미는 뭔지, 특정 대역은 어떻게 표기하는지 궁금해...
    Date2024.09.21 Views245
    Read More
  9. 클라우드(Cloud) vs. 온프레미스(On-premise)

    클라우드(Cloud) 개념 '클라우드'란 '클라우드 컴퓨팅'의 약자이고, 인터넷을 통해 가상화 된 컴퓨터의 IT 리소스를 제공하는 것이다. 정보를 자신의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다. * IT리소스는 흔히 컴퓨터의 성...
    Date2024.09.16 Views333
    Read More
  10. VPN(가상사설망) 프로토콜 비교 : SSL/L2TP/IPSec/PPTP

    VPN(Virtual Private Network) 가상 사설망 (출처) 위키백과 공중 네트워크를 통해 한 회사나 몇 몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다. 다시 설명하면 공중망에서 가상의 사설망을 구현하는 기술이라고 할 ...
    Date2024.09.16 Views250
    Read More
  11. [Spring Cloud] 스프링 클라우드 란 무엇인가요?

    스프링 클라우드(Spring Cloud)는 스프링 프레임워크 기반의 클라우드 네이티브 애플리케이션을 개발하기 위한 프로젝트입니다. 스프링 클라우드는 분산 시스템에서 필요한 다양한 기능들을 추상화하여 제공하고 있으며, 마이크로서비스 아키텍처를 구현할 때...
    Date2024.08.30 Views238
    Read More
  12. {개발자}로 자라기 – 쿠버네티스, 왜 배워야 할까?

    쿠버네티스, 들어본 적 있으신가요? 데브옵스(DevOps), 클라우드 분야에 관심 있는 분들이라면 한 번쯤 접해보신 경험 있으실 겁니다. 전 세계 다수의 대기업에서 이미 쿠버네티스로 시스템 기반을 전환했다고 하는데요. 560만 명의 개발자가 사용하고 있는 쿠...
    Date2024.08.30 Views281
    Read More
  13. 오토스케일링(Auto Scaling)이란? (AWS, 클라우드)

    1. 오토스케일링(Auto Scaling)이란AWS에서 Scale In / Out 기능을 자동으로 수행해주는 기능으로 정책에 따라서 자원을 조정해주는 AWS 서비스를 말한다. 스케일아웃(Scale Out)서버의 자원 스펙 상승으로는 한계가 있으며 효율이 떨어지는 시점이 있다. Scal...
    Date2024.07.09 Views213
    Read More
  14. Docker 이해하기 -2 : 컨테이너 라이프 사이클 & CLI 이해하기

    목차1) Docker 컨테이너 라이프 사이클 2) 컨테이너 라이프 사이클 단계 및 CLI 0. 요약 1. 컨테이너 생성 (Create Container) 2. 컨테이너 시작 (Start Container) 3. 컨테이너 실행 (Run Container) 4. 컨테이너 일시 정지 (Pause Container) 5. 컨테이너 재...
    Date2024.07.08 Views240
    Read More
  15. Docker 이해하기 -1 : 기초 이론(아키텍처, 흐름, 주요 용어)

    목차1) Docker 1. Docker 사용목적 2. VM(Virtual Machine)과 Docker의 차이 3. Docker 아키텍처 및 흐름 2) Docker 주요 용어 0. Docker 주요 용어 요약 1. 도커 클라이언트(Docker Client) 2. 도커 호스트(Docker Host) = 도커 서버(Docker Server) 3. 도커 ...
    Date2024.07.08 Views202
    Read More
  16. 정부원격근무서비스(GVPN)를 통한 통합운영관리시스템(nTOPS, n...

    정부원격근무서비스(GVPN)를 통한 통합운영관리시스템 (nTOPS, national Total Operation Platform System) 접속 "통합운영관리시스템"이란 표준운영절차의 이행을 지원하기 위한 정보시스템으로, nTOPS(national Total Operation Platform System)를 말한다. ...
    Date2024.06.14 Views470
    Read More
  17. 국가정보자원관리원(NIRS) G클라우드 소개

    국가정보자원관리원 G-클라우드 소개 대한민국 전자정부의 심장 역할을 수행하는 국가정보자원관리원(구, 정부통합전산센터)는 47개 중앙행정기관의 IT 인프라를 위탁 운영하는 행정안전부 산하기관으로 약 22,000개 SW와 24,000개 HW 정보자원의 효율적 운용...
    Date2024.06.14 Views399
    Read More
  18. RHEV 4.0 Hypervisor 설치 방법

    Red Hat 회사의 엔터프라이즈급 서버 가상화 제품인 RHEV 4.0 Hypervisor를 설치하는 방법에 대해 알아보도록 하겠습니다. 레드햇이 2008년에 가상화 업체였던 쿰라넷(Qumranet)을 인수하게 됩니다. 그리고 이때 KVM이 레드햇으로 넘어가게 되었죠. 다시 말해...
    Date2024.06.14 Views249
    Read More
  19. 클라우드에 'MSA' 적용이 필요한 이유

    빠른 개발과 다양한 요구사항에 대응하기 위해서 MSA를 적용하는 기업이 증가하고 있습니다. ​ ​ 특히, MSA는 클라우드 환경에서 시스템을 구축할 때 효율적인 측면이 많은데요. ​ ​ 떼려야 뗄 수 없는 클라우드와 MSA에 대해 알아보았습니다.​ MSA(Microserv...
    Date2024.05.29 Views306
    Read More
  20. No Image

    MSA (Micro Service Architecture)란?

    MSA란 그리고 등장 Monolithic Architecture 란? 소프트웨어의 모든 구성요소가 하나의 결합체를 이루고 있는 프로젝트 설계모습이 있다. 그런 설계 모습을 모놀리식 아키텍처라 부릅니다. 큰 규모의 서비스가 아니라면 모놀리식 아키텍처를 많이 사용하고 저...
    Date2024.03.15 Views250
    Read More
목록
Board Pagination Prev 1 2 3 4 Next
/ 4