SpringCloud Eureka(1)

3747 단어
서비스 관리 Spring Cloud Eureka
서비스 관리는 마이크로 서비스 구조에서 가장 핵심적이고 기초적인 모듈로 주로 각 마이크로 서비스 실례의 자동화 등록과 발견을 실현하는 데 사용된다.스프링 클라우드 유레카는 스프링 클라우드 넷플릭스 마이크로 서비스 세트의 일부로 넷플릭스 유레카를 바탕으로 2차 포장을 했고 주로 마이크로 서비스 구조에서의 서비스 관리 기능을 완성하는 것을 책임진다.
  • 서비스 등록은 서비스 관리 구조에서 보통 하나의 등록 센터를 구축한다. 각 서비스 단원은 등록 센터에 자신이 제공한 서비스를 등록하고 포트, 버전 번호, 통신 협의 등 부가 정보를 등록 센터에 알려주며 등록 센터는 서비스 이름에 따라 서비스 명세서를 분류한다.서비스 등록 센터는 심장 박동 방식으로 명세서의 서비스가 사용 가능한지 모니터링해야 하며, 사용할 수 없으면 서비스 명세서에서 제거하여 고장 서비스를 제거하는 역할을 해야 한다.
  • 서비스는 서비스 관리 프레임워크의 역할에서 서비스 간의 호출은 구체적인 실례의 주소를 지정하는 것을 통해 이루어지지 않고 서비스 이름에 호출을 요청하는 것을 발견했다.따라서 서비스 호출자는 서비스 제공자의 인터페이스를 호출할 때 서비스 실례의 구체적인 위치를 모른다. 서비스 호출자는 서비스 등록 센터에 서비스를 문의하고 모든 서비스 실례 목록을 얻어 구체적인 서비스 실례에 대한 접근을 실현해야 한다.

  • 1. 서비스 등록 센터(Eureka 서버) 구축
    1.1 서비스 등록 센터 구축
  • Spring Boot 프로젝트 작성
  • 의존 추가:spring-cloud-starter-eureka-server
  • 이용 @EnableEurekaServer 서비스 등록 센터 개설
  • 구성 서비스 등록 센터
  • 1.2 서비스 등록 센터 구성
    name
    description
    value
    spring.application.name
    서비스 이름
    -
    server.port
    포트
    -
    eureka.instance.hostname
    호스트 이름
    -
    eureka.client.register-with-eureka
    등록 센터에 자신을 등록할지 여부
    false
    eureka.client.fetch-registry
    검색 서비스가 필요한지 여부
    false
    eureka.client.service-url.defaultZone
    서비스 등록 센터 주소
    http://\({eureka.instance.hostname}:\){server.port}/eureka/
    2. 서비스 제공자(Eureka 클라이언트) 등록
    2.1 서비스 제공자 등록
  • Spring Boot 프로젝트 작성
  • 추가 의존:spring-cloud-starter-eureka-client
  • 사용@EnableDiscoveryClientdiscovery client 활성화
  • 서비스 공급자 설정
  • 2.2 서비스 제공자 구성
    name
    description
    value
    spring.application.name
    서비스 이름
    -
    server.port
    포트
    -
    eureka.client.service-url.defaultZone
    서비스 등록 센터 주소
    -
    3. 등록 서비스 소비자(Eureka 클라이언트)
    3.1 서비스 소비자 등록
  • Spring Boot 프로젝트 작성
  • 추가 의존:spring-cloud-starter-eureka-client,spring-cloud-starter-ribbon
  • 사용@EnableDiscoveryClientdiscovery client를 활성화하여 주 클래스에 RestTemplate의 Spring Bean 실례를 만들고 @LoadBalanced 주석을 통해 클라이언트 부하 균형을 시작합니다
  • 서비스 공급자 설정
  • 3.2 서비스 소비자 구성
    name
    description
    value
    spring.application.name
    서비스 이름
    -
    server.port
    포트
    -
    eureka.client.service-url.defaultZone
    서비스 등록 센터 주소
    -
    4. 고가용 서비스 등록 센터
    분산 환경에서는 장애가 발생하는 상황을 충분히 고려해야 하기 때문에 생산 환경에서는 각 구성 요소에 대해 고가용성 배치를 해야 한다. 서비스 센터에도 마찬가지다.유레카의 서비스 관리 디자인에서 모든 노드는 서비스 제공자이자 서비스 소비자이며 서비스 등록 센터도 예외가 아니다.Eureka Server 고가용성은 실제로 자신을 서비스로 다른 서비스 등록 센터에 등록하여 서로 등록된 등록 센터를 형성하여 서비스 명세서가 서로 동기화되고 고가용 효과를 얻는 것이다.
    4.1 고가용 서비스 등록 센터 구성
    name
    description
    value
    spring.application.name
    서비스 이름
    -
    server.port
    포트
    -
    eureka.instance.hostname
    호스트 이름
    -
    eureka.client.service-url.defaultZone
    서비스 등록 센터 주소
    기타 서비스 등록 센터 주소: url2, url3...
    4.2 서비스 공급자 구성
    name
    description
    value
    spring.application.name
    서비스 이름
    -
    server.port
    포트
    -
    eureka.client.service-url.defaultZone
    서비스 등록 센터 주소
    기타 서비스 등록 센터 주소: url1, url2, url3...
    첨부공통 구성
    name
    description
    default
    spring.application.name
    서비스 이름
    -
    server.port
    포트
    -
    eureka.instance.hostname
    호스트 이름
    -
    eureka.instance.lease-renewal-interval-in-seconds
    서비스 재계약 작업의 호출 간격
    30
    eureka.instance.lease-expiration-duration-in-seconds
    서비스 만료 시간
    90
    eureka.client.register-with-eureka
    등록 센터에 자신을 등록할지 여부
    true
    eureka.client.fetch-registry
    검색 서비스가 필요한지 여부
    true
    eureka.client.service-url.defaultZone
    eureka 서버 구역 주소
    -
    eureka.server.enable-self-preservation
    보호 메커니즘 설정 여부
    -

    좋은 웹페이지 즐겨찾기