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. 《 봄 구름 마이크로 서버 실무 전 》
링크

좋은 웹페이지 즐겨찾기