springcloud의 5가지 핵심 구성 요소는 다음과 같습니다. 1. 서비스 거버넌스를 구현하는 Eureka 2. 클라이언트 측 소프트웨어 로드 밸런싱 알고리즘을 제공하는 리본 3. 애플리케이션이 여러 작업을 수행하지 못하도록 방지하는 Hystrix 회로 차단기 4. Zuul에는 API 게이트웨이, 라우팅, 로드 밸런싱 등과 같은 여러 기능이 있습니다. 5. 구성 관리를 위한 구성입니다.
이 튜토리얼의 운영 체제: Windows 10 시스템, Dell G3 컴퓨터.
springcloud의 다섯 가지 핵심 구성 요소는 다음과 같습니다.
1. Eureka
기능: 서비스 거버넌스(서비스 등록 및 검색)를 구현합니다.
AWS 지역에서 실행되는 중간 계층 서비스를 찾는 데 사용되는 RESTful 서비스입니다. 이는 유레카 서버와 유레카 클라이언트의 두 가지 구성 요소로 구성됩니다. 유레카 서버는 서비스 등록 서버로 사용됩니다. Eureka 클라이언트는 서버와의 상호 작용을 단순화하고, 폴링 로드 밸런서 역할을 하며, 서비스에 대한 장애 조치 지원을 제공하는 데 사용되는 Java 클라이언트입니다. Netflix는 프로덕션 환경에서 트래픽, 리소스 활용도 및 오류 상태를 기반으로 가중치가 부여된 로드 밸런싱을 제공하는 별도의 클라이언트를 사용합니다.
애플리케이션이 시작되면 Eureka 클라이언트는 자체 서비스 정보를 서버에 등록하고 서버의 서비스 정보를 로컬로 캐시합니다. 클라이언트는 정기적으로 서버와 하트비트 상호 작용을 수행하여 서비스 임대 및 서비스 정보를 업데이트합니다.
2. 리본
기능: 주로 클라이언트 측 소프트웨어 로드 밸런싱 알고리즘을 제공합니다.
Spring Cloud Ribbon은 HTTP 및 TCP 기반의 클라이언트 측 로드 밸런싱 도구로 Netflix Ribbon을 기반으로 구현됩니다. Spring Cloud의 캡슐화를 통해 서비스 지향 REST 템플릿 요청을 클라이언트 측 로드 밸런싱 서비스 호출로 자동으로 쉽게 변환할 수 있습니다. 리본 클라이언트 구성 요소는 연결 시간 초과, 재시도, 재시도 알고리즘 등과 같은 일련의 전체 구성 옵션을 제공합니다. 리본에는 플러그형 및 사용자 정의 가능한 로드 밸런싱 구성 요소가 내장되어 있습니다.
3. Hystrix
서킷 브레이커는 애플리케이션이 실패할 가능성이 있는 작업을 여러 번 시도하는 것을 방지하여 실패를 확인하는 동안 복구를 기다리거나 CPU 사이클을 낭비하지 않고 계속할 수 있도록 합니다. 끈질기다. 또한 회로 차단기 모드를 사용하면 애플리케이션에서 오류가 해결되었는지 여부를 감지할 수 있습니다. 문제가 해결된 것으로 나타나면 애플리케이션은 작업 호출을 시도할 수 있습니다.
고가용성을 보장하기 위해 개별 서비스는 일반적으로 클러스터에 배포됩니다. 네트워크상의 문제나 자체적인 이유로 서비스가 100% 가용성을 보장할 수는 없습니다. 단일 서비스에 문제가 있는 경우, 이 서비스 호출 시 스레드 차단이 발생하게 됩니다. 서블릿 컨테이너의 스레드 리소스가 소모되어 서비스 마비가 발생합니다. 서비스 간의 종속성으로 인해 오류가 전파되고 전체 마이크로서비스 시스템에 치명적인 결과를 초래하게 됩니다. 이는 서비스 오류의 "눈사태" 효과입니다.
4. Zuul
기능: API 게이트웨이, 라우팅, 로드 밸런싱 등과 같은 여러 기능이 있습니다.
nginx와 유사하며 역방향 프록시 기능이 있지만 Netflix 자체에서 다른 구성 요소와 협력하기 위해 몇 가지 기능을 추가했습니다. 마이크로서비스 아키텍처에서 백엔드 서비스는 호출 측에 직접 공개되지 않는 경우가 많지만, 요청된 URL을 기반으로 API 게이트웨이를 통해 해당 서비스로 라우팅됩니다. API 게이트웨이가 추가되면 제3자 호출자와 서비스 제공자 사이에 벽이 생성됩니다. 이 벽은 권한 제어를 위해 호출자와 직접 통신한 후 요청을 균형있게 백엔드 서버에 분산시킵니다.
5.Config
기능: 구성 관리.
SpringCloud Config는 서버 측과 클라이언트 측을 제공합니다. 서버 스토리지 백엔드의 기본 구현은 git을 사용하므로 태그가 지정된 구성 환경 버전을 쉽게 지원할 뿐만 아니라 콘텐츠 관리를 위한 다양한 도구에 대한 액세스도 제공합니다. 이는 여전히 정적이며 동적 구성 업데이트를 달성하려면 Spring Cloud Bus와 결합되어야 합니다.
위 내용은 Springcloud의 5가지 핵심 구성 요소는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!