스프링 클라우드 기반의 전투 (오) 척하기

척하기는 경량의 오픈 소스 넷플릭스, 나머지 클라이언트입니다 http://github.com/OpenFeign/feign , 척하기가 매우 편리 할 수 있습니다 사용, 간단한 구현 HTTP를 척하기는 인터페이스를 정의하고 인터페이스에 추가해야 사용하여 클라이언트 주석이 될 수 있습니다.
척하기에 봄 클라우드는 척하기의 기본 통화를 균형 리본 구현 클라이언트 부하를 통합, 캡슐화된다.
현재 더 같은 따라야 할 기본 사양입니다 서비스 인터페이스, 다오 인터페이스로, 지향 프로그래밍 인터페이스를 익숙해.
마이크로 서비스 간의 호출은 두 가지 방법입니다 :

  1. 마이크로 서비스 이름으로 서비스 주소는 전화를 얻기 위해
  2. + 인터페이스를 통해 노트, 전화 서비스에 대한 액세스는 -Feign (업계에 적응하고 다른 프로그래머가 제시, 또는 지향 프로그래밍 인터페이스를 따라) 긴 인터페이스로에 대한 척하기를 사용하면서, 이전에 테이블 의식 매퍼 인터페이스에 대한 참고 사항 @Mapper 사용되는 것과 유사한 표시된 @FeignClient 코멘트.
    케이스 :
    원래의 기초 1. 추가 척하기 모듈의 경우
    새로운 studentservice 클라우드-07-consumer- 제품 체하다, 참조 studentservice 클라우드-04-consumer- 제품 (80)

그림 삽입 설명 여기
1. 추가는 pom.xml 파일이 의존
그림 삽입 설명 여기
마스터 부트 클래스 StudentConsumer_80_feign를 만들고 주석 @EnableFeignClients에게 추가 2.
그림 삽입 설명 여기
코드에서 호출 3. 새로운 ProductClientService 인터페이스를 사용 @FeignClient ( "서비스 이름") 노트 로고, 같은 호출하는 서비스 지정을 microservice-제품 및 서비스 / 학생 / 목록 / 학생 / 수 / {SID}는, / 학생 / 추가 인터페이스를, 같은 다음 :
그림 삽입 설명 여기
4. 테스트를

  • 두 클러스터의 유레카 시작

  • 시작이 제품 공급자 8,002분의 8,001

  • 시작 ProductConsumer_80_Feign

  • 访问:
    HTTP : // localhost를 / 소비자 / 학생 / 목록
    그림 삽입 설명 여기

  • 연속 요청은 다른 데이터는 한
    그림 삽입 설명 여기
    로드 밸런싱 구성 기능 거기 발견

5.Feign 작품 :
(리본 + RestTemplate 전) 나머지 서비스, 서버에 유레카 요청 호출하여 척하기 인터페이스 방식 (HTTP : // microservice - 제품 / 학생 / 목록), 직접 척하기를 통해 서비스 인터페이스를 찾을 통합 때문에 리본 기술, 척하기 자신의 부하 분산 구성.

  • @EnableFeignClients 시작 클래스 메모 추가, 봄이 표시 @FeignClient 주석 인터페이스를 스캔,이 인터페이스는 프록시 객체를 생성
  • 제품 및 서비스의 이름을 지정 @FeignClient ( "서비스 이름"), 척하기 제품은 부하 분산 알고리즘에 의해 유레카 레지스트리에서 서비스 및 서비스 호출 목록을 얻을 것이다.
  • 인터페이스 방법 (값 = "/ 학생 / 목록 @RequestMapping에서 특수 효과를 사용하여 "방법 = RequestMethod.GET), 지정된 호출 URL은, 척하기 원격 호출에 따라 URL에있을 것입니다.
    6.Feign 참고
    척하기에 SpringCloud는 SpringMVC 주석을 사용할 때 우리가 관심을 지불 할 필요가 호환 SpringMVC의 의견을 향상되었습니다 :
  • @FeignClient 인터페이스 방법은 파라미터 또는 @RequestParam ( "XXX") @PathVariable 파라미터 기본형에 추가되어야 ( "XXX")
  • @FeignClient 인터페이스 메소드 리턴 값은 복잡한 객체이 입력해야 생성자 파라미터의 존재 여부 인 경우.
게시 22 개 원래 기사 · 원 찬양 한 · 전망 (811)

추천

출처blog.csdn.net/CHENGXUYUAN09/article/details/104813842