Spring Cloud Eureka 에 대해 서

5048 단어 SpringCloudEureka
우선 스프링 클 라 우 드 유레카 를 이용 해 서비스 관 리 를 시도 해 보 자.
스프링 클 라 우 드 유레카 는 스프링 클 라 우 드 넷 플 릭 스 프로젝트 하의 서비스 관리 모듈 이다.한편, Spring Cloud Netflix 프로젝트 는 Spring Cloud 의 서브 프로젝트 중 하나 로 넷 플 릭 스 회사 의 일련의 오픈 소스 제품 에 대한 포장 을 주요 내용 으로 하 며 Spring Boot 응용 에 자체 설정 한 Netflix OSS 통합 을 제공 합 니 다.간단 한 주 해 를 통 해 개발 자 는 응용 에서 자주 사용 하 는 모듈 을 신속하게 설정 하고 커 다란 분포 식 시스템 을 구축 할 수 있 습 니 다.이 모듈 은 서비스 발견 (Eureka), 차단기 (Hystrix), 스마트 경로 (Zuul), 클 라 이언 트 부하 균형 (Ribbon) 등 을 포함한다.
스프링 클 라 우 드 유레카 를 이용 해 서비스 관 리 를 어떻게 하 는 지 구체 적 으로 살 펴 보 자.
"서비스 등록 센터" 를 만 들 고 기본 적 인 Spring Boot 프로젝트 를 만 듭 니 다. eureka - server 라 고 명명 하고 pom. xml 에 필요 한 의존 내용 을 도입 합 니 다.

org.springframework.boot
spring-boot-starter-parent
1.5.4.RELEASE




org.springframework.cloud
spring-cloud-starter-eureka-server





org.springframework.cloud
spring-cloud-dependencies
Dalston.SR1
pom
import



@ EnableEureka Server 주 해 를 통 해 서비스 등록 센터 를 시작 하여 다른 응용 프로그램 에 대 화 를 제공 합 니 다.이 단 계 는 매우 간단 합 니 다. 일반적인 Spring Boot 응용 프로그램 에 이 주 해 를 추가 하면 이 기능 을 시작 할 수 있 습 니 다. 예 를 들 어 다음 과 같은 예 입 니 다.
@EnableEurekaServer
@SpringBootApplication
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class)
.web(true).run(args);
}
}

기본 설정 에서 이 서비스 등록 센터 도 자신 을 클 라 이언 트 로 등록 하려 고 합 니 다. 따라서 클 라 이언 트 등록 행 위 를 사용 하지 않 고 application. properties 설정 파일 에 다음 과 같은 정 보 를 추가 해 야 합 니 다.
spring.application.name=eureka-server
server.port=1001
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

다음 에 등록 할 서비스 와 구분 하기 위해 서비스 등록 센터 의 포트 를 server. port 속성 을 통 해 1001 로 설정 합 니 다.프로젝트 시작 후 접근:http://localhost:1001/아래 페이지 를 볼 수 있 으 며 서비스 가 발견 되 지 않 았 습 니 다.
'서비스 제공 자' 를 만 들 고 저 희 는 서 비 스 를 제공 하 는 클 라 이언 트 를 만 들 고 서비스 등록 센터 에 자신 을 등록 합 니 다.본 고 는 주로 서비스의 등록 과 발견 을 소개 하기 때문에 우 리 는 서비스 제공 자 에 게 인 터 페 이 스 를 제공 하여 현재 의 모든 서비스 정 보 를 얻 으 려 고 시도 해도 무방 하 다.
우선, 기본 적 인 Spring Boot 애플 리 케 이 션 을 만 듭 니 다.eureka - client 라 는 이름 으로 pom. xml 에 다음 설정 을 추가 합 니 다.


org.springframework.boot
spring-boot-starter-parent
1.5.4.RELEASE
 



org.springframework.cloud
spring-cloud-starter-eureka


org.springframework.boot
spring-boot-starter-web





org.springframework.cloud
spring-cloud-dependencies
Dalston.SR1
pom
import



그 다음 에 / dc 요청 처리 인 터 페 이 스 를 실현 하고 DiscoveryClient 대상 을 통 해 로그 에 서비스 실례 와 관련 된 내용 을 출력 합 니 다.
@RestController
public class DcController {
@Autowired
DiscoveryClient discoveryClient;
@GetMapping("/dc")
public String dc() {
String services = "Services: " + discoveryClient.getServices();
System.out.println(services);
return services;
}
}

마지막 으로 응용 메 인 클래스 에 @ EnableDiscoveryClient 주 해 를 추가 하면 이 주 해 는 Eureka 의 DiscoveryClient 를 활성화 시 켜 서 Controller 에서 서비스 정보 에 대한 출력 을 실현 할 수 있 습 니 다.
@EnableDiscoveryClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(
ComputeServiceApplication.class)
.web(true).run(args);
}
}

저 희 는 서비스 내용 의 실현 을 완성 한 후에 application. properties 에 대해 설정 작업 을 계속 합 니 다. 구체 적 으로 다음 과 같 습 니 다.
spring.application.name=eureka-client
server.port=2001
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/

spring. application. name 속성 을 통 해 저 희 는 마이크로 서비스의 이름 을 지정 하여 호출 할 때 이 이름 만 사용 하면 서비스 에 접근 할 수 있 습 니 다.eureka. client. serviceUrl. defaultZone 속성 은 서비스 등록 센터 의 설정 내용 에 대응 하여 서비스 등록 센터 의 위 치 를 지정 합 니 다.이 컴퓨터 에서 서비스 제공 자 와 서비스 등록 센터 를 구분 하 는 테스트 를 위해 server. port 속성 으로 서로 다른 포트 를 설정 합 니 다.그 중에서 도 괄호 안에 있 는 eureka - client 는 Spring Cloud 가 정의 하 는 Discovery Client 인 터 페 이 스 를 통 해 eureka 의 실현 에서 얻 은 모든 서비스 목록 입 니 다.Spring Cloud 는 서비스 에서 이 층 이 매우 좋 은 추상 을 했 기 때문에 위의 절차 에 대해 우 리 는 빈 틈 없 이 eureka 의 서비스 관리 체계 에서 consul 의 서비스 관리 체계 로 전환 할 수 있다.
지금부터 저 는 최근 에 개 발 된 springcloud 마이크로 서비스 클 라 우 드 구조의 구축 과정 과 정 수 를 기록 하여 spring cloud 프레임 워 크 를 연구 개발 하 는 데 관심 이 있 는 친구 들 에 게 더 많은 좋 은 학자 들 을 도와 주 고 싶 습 니 다.스프링 클 라 우 드 구조의 구축 과정 과 기업 프로젝트 에 어떻게 활용 되 는 지 연구 합 시다.

좋은 웹페이지 즐겨찾기