Spring Cloud Eureka 입문 (2) 서비스 제공 자 상세 설명
26097 단어 spring
요약: 출처: www. bysocket. com 미장이 BYSocket 희망 전재, 보류 요약, 감사합니다! "우수 함 은 과거 가 아니 라 마음가짐 이에 요". "Spring Cloud Eureka 입문 시리즈" Spring Cloud Eureka 입문 (1) 서비스 등록 센터 상세 설명 Spring Cloud Eur
"우수 함 은 과거 가 아니 라 마음가짐 이에 요".
"Spring Cloud Eureka 입문 시리즈"
Spring Cloud Eureka 입문 (1) 서비스 등록 센터 상세 설명
Spring Cloud Eureka 입문 (2) 서비스 제공 자 상세 설명
Spring Cloud Eureka 입문 (3) 서비스 소비자 상세 설명
본문 요강
1. springcloud - eureka - sample 공정 구조
2. 실행 springcloud - eureka - client - provider 서비스 제공 자 프로젝트
3. 상세 한 해석 springcloud - eureka - client - provider 서비스 제공 자 프로젝트
1. springcloud - eureka - sample 공정 구조
이 어 지난 소절 '스프링 클 라 우 드 유레카 입문 (一) 서비스 등록 센터 상세 설명
스프링 클 라 우 드 유레카 서버 프로젝트 를 서비스 등록 센터 프로젝트 로 성공 적 으로 운영 했다.이 소절 에서 저 희 는 클 라 이언 트 로 서 의 서비스 제공 자 프로젝트 를 작성 하고 서비스 제공 자가 서비스 센터 에 등록 하거나 오프라인 서비스 인 스 턴 스 를 작성 합 니 다.즉, 그림 의 오른쪽 1, 2 절차:
springcloud - eureka - sample 공정 구조
├── springcloud-eureka-client-customer
├── springcloud-eureka-client-provider
└── springcloud-eureka-server
위 에 순서대로. 서비스 소비자 공학, 서비스 제공 자 공학 과 서비스 등록 센터 공사.
운행 springcloud - eureka - client - provider 서비스 제공 자 프로젝트
운영 환경: JDK 7 또는 8, Maven 3.0 +
기술 창고: Spring Cloud Dalston.SR1、 spring-cloud-netflix 1.3.1、Spring Boot 1.5.4
자 연 스 럽 게 우 리 는 먼저 이전 절 인 에 가서 상세 하 게 설명해 야 한다.
, 등록 센터 공 사 를 시작 했다.
1. git 클론 다운로드 프로젝트 springcloud-learning-example
프로젝트 주 소 는 GitHub - https://github.com/JeffLi1993/ ... ample
:
git clone https://github.com/JeffLi1993/ ... e.git
2. Maven 컴 파일 설치 프로젝트:
cd springcloud-learning-example
mvn clean install
3. 유레카 프로젝트 springcloud - eureka - client - provider 실행
springcloud - eureka - client - provider 프로젝트 시작 클래스 ProviderApplication 을 시작 하여 서비스 등록 센터 프로젝트 를 시작 합 니 다.
EurekaServerApplication 클래스 경로: / springcloud - learning - example / springcloud - eureka - sample / springcloud - eurekloud - eureka - client - provider / src / main / java / org / springcloud / springcloud / ProviderApplication. java
콘 솔 콘 솔 에서 이러한 정 보 를 보 았 습 니 다. 시작 에 성공 한 것 을 의미 합 니 다.
2017-07-10 16:03:15.075 INFO 11020 --- [ main] o.s.c.n.e.s.EurekaServiceRegistry : Registering application provider-service with eureka with status UP
2017-07-10 16:03:15.075 INFO 11020 --- [ main] com.netflix.discovery.DiscoveryClient : Saw local status change event StatusChangeEvent [timestamp=1499673795075, current=UP, previous=STARTING]
2017-07-10 16:03:15.079 INFO 11020 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_PROVIDER-SERVICE/10.18.29.31:provider-service:8080: registering service...
2017-07-10 16:03:15.126 INFO 11020 --- [nfoReplicator-0] com.netflix.discovery.DiscoveryClient : DiscoveryClient_PROVIDER-SERVICE/10.18.29.31:provider-service:8080 - registration status: 204
2017-07-10 16:03:15.183 INFO 11020 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2017-07-10 16:03:15.185 INFO 11020 --- [ main] .s.c.n.e.s.EurekaAutoServiceRegistration : Updating port to 8080
2017-07-10 16:03:15.191 INFO 11020 --- [ main] o.s.springcloud.ProviderApplication : Started ProviderApplication in 9.809 seconds (JVM running for 10.981)
이 를 통 해 알 수 있 듯 이 provider - service 라 는 응용 프로그램 을 등 록 했 고 이 서비스 제공 자의 프로젝트 포트 는 8080 이다.
4. 방문 Eureka 등록 센터 시각 화 인터페이스
브 라 우 저 열기, 접근 http://localhost:8888/
,그림 에서 보 듯 이:
서비스 제공 자가 서비스 등록 센터 에 자신의 실례 를 등록 하고 응용 이름과 포트 정보 등 을 보 여 주 는 것 을 볼 수 있다.
상세 하 다 springcloud - eureka - client - provider 서비스 제공 자 프로젝트
1.springcloud-eureka-server 프로젝트 디 렉 터 리 구조
├── pom.xml
└── src
└── main
├── java
│ └── org
│ └── spring
│ ├── springcloud
│ │ └── ProviderApplication.java
│ └── web
│ └── ProviderController.java
└── resources
└── application.yml
ProviderApplication.java Eureka Client 시작 클래스, 서비스 제공 자 프로젝트 시작
ProviderApplication. java Provider HelloWorld 사례
application. yml 프로필
2. pom. xml 설정
http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma ... gt%3B
4.0.0
springcloud
springcloud-eureka-client-provider
0.0.1-SNAPSHOT
springcloud-eureka-client-provider ::
org.springframework.boot
spring-boot-starter-parent
1.5.4.RELEASE
org.springframework.cloud
spring-cloud-starter-eureka
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-netflix
1.3.1.RELEASE
pom
import
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
의존
- spring - cloud - netflix 1.3.1 은 Spring Cloud Dalston. SR1 버 전.
- spring - cloud - starter - eureka Eureka Client 모듈 의존, 클 라 이언 트 client 의존, 그리고 Ribbon 의존, 예 를 들 어 org. springframework. cloud: spring - cloud - netflix - eureka - client: 1.3.1. RELEASE
org.springframework.cloud:spring-cloud-starter-ribbon:1.3.1.RELEASE
3. application. yml 설정
server:
port: 8080 #
eureka:
client:
service-url:
defaultZone: http://localhost:8888/eureka/ #
spring:
application:
name: provider-service #
- server. port 프로젝트 서비스 포트 설정
- eureka. client. service - url. defaultZone 설정 서비스 등록 센터 주소
4. 등록 센터 응용 시작 클래스
/**
* Spring Boot Eureka Server
*
* Created by bysocket on 21/06/17.
*/
@EnableEurekaClient // Eureka Client
@SpringBootApplication // Spring Boot
public class ProviderApplication {
public static void main(String args) {
//
// Tomcat Spring Spring
SpringApplication.run(ProviderApplication.class,args);
}
}
@ EnableEurekaClient 로고 이 응용 프로그램 은 Eureka Client 는 Eureka 관련 설정 을 자동 으로 읽 습 니 다.
6. 서비스 제공 자 Hello World 사례
/**
* Provider HelloWorld
*
* Created by bysocket on 06/22/17.
*/
@RestController
public class ProviderController {
private static final Logger LOGGER = LoggerFactory.getLogger(ProviderController.class);
@Autowired
private Registration registration; //
@Autowired
private DiscoveryClient discoveryClient; //
@RequestMapping("/provider")
public String provider() {
ServiceInstance instance = serviceInstance();
LOGGER.info("provider service, host = " + instance.getHost()
+ ", service_id = " + instance.getServiceId());
return "Hello,Provider!";
}
/**
*
*
* @return ServiceInstance
*/
public ServiceInstance serviceInstance() {
List list = discoveryClient.getInstances(registration.getServiceId());
if (list != null && list.size() > 0) {
return list.get(0);
}
return null;
}
}
주입 이 보 입 니 다. Registration 과 DiscoveryClient 두 대상:
- Registration 서비스 등록 인터페이스 에는 서비스 ID 를 얻 는 방법 이 포함 되 어 있 습 니 다.
- DiscoveryClient 서비스 에서 클 라 이언 트 를 발견 하면 다음 과 같은 방법 이 있 습 니 다.
- String description(); 설명 가 져 오기
- ServiceInstance getLocalServiceInstance(); @Deprecated 방법 이 삭제 되 었 으 니 사용 하지 않 는 것 을 추천 합 니 다.로 컬 서비스 인 스 턴 스 가 져 오기
- List getInstances(String serviceId); 서비스 ID 를 통 해 현재 서비스의 인 스 턴 스 를 가 져 옵 니 다.
- List getServices(); 모든 서비스 ID 목록 가 져 오기
소결
이 소절 은 유레카 를 서비스 제공 자로 하고 서비스 등록 센터 에 자신의 실례 를 등록 하 는 방법 을 소개 한다.다음 소결 을 말씀 드 리 겠 습 니 다. 서비스 소비 자 는 구체 적 으로 어떻게 서비스 등록 센터 에 자신 을 등록 하고 다른 서 비 스 를 발견 하 며 다른 서 비 스 를 호출 하 는 지 상세 하 게 설명 한다.시리즈 디 렉 터 리 는 다음 과 같 습 니 다.
Spring Cloud Eureka 입문 (1) 서비스 등록 센터 상세 설명
Spring Cloud Eureka 입문 (2) 서비스 제공 자 상세 설명
Spring Cloud Eureka 입문 (3) 서비스 소비자 상세 설명
자료:
1. 《 봄 구름 마이크로 서버 실무 전 》
링크
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.