척하기는 경량의 오픈 소스 넷플릭스, 나머지 클라이언트입니다 http://github.com/OpenFeign/feign , 척하기가 매우 편리 할 수 있습니다 사용, 간단한 구현 HTTP를 척하기는 인터페이스를 정의하고 인터페이스에 추가해야 사용하여 클라이언트 주석이 될 수 있습니다.
척하기에 봄 클라우드는 척하기의 기본 통화를 균형 리본 구현 클라이언트 부하를 통합, 캡슐화된다.
현재 더 같은 따라야 할 기본 사양입니다 서비스 인터페이스, 다오 인터페이스로, 지향 프로그래밍 인터페이스를 익숙해.
마이크로 서비스 간의 호출은 두 가지 방법입니다 :
- 마이크로 서비스 이름으로 서비스 주소는 전화를 얻기 위해
- + 인터페이스를 통해 노트, 전화 서비스에 대한 액세스는 -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
-
연속 요청은 다른 데이터는 한
로드 밸런싱 구성 기능 거기 발견
5.Feign 작품 :
(리본 + RestTemplate 전) 나머지 서비스, 서버에 유레카 요청 호출하여 척하기 인터페이스 방식 (HTTP : // microservice - 제품 / 학생 / 목록), 직접 척하기를 통해 서비스 인터페이스를 찾을 통합 때문에 리본 기술, 척하기 자신의 부하 분산 구성.
- @EnableFeignClients 시작 클래스 메모 추가, 봄이 표시 @FeignClient 주석 인터페이스를 스캔,이 인터페이스는 프록시 객체를 생성
- 제품 및 서비스의 이름을 지정 @FeignClient ( "서비스 이름"), 척하기 제품은 부하 분산 알고리즘에 의해 유레카 레지스트리에서 서비스 및 서비스 호출 목록을 얻을 것이다.
- 인터페이스 방법 (값 = "/ 학생 / 목록 @RequestMapping에서 특수 효과를 사용하여 "방법 = RequestMethod.GET), 지정된 호출 URL은, 척하기 원격 호출에 따라 URL에있을 것입니다.
6.Feign 참고
척하기에 SpringCloud는 SpringMVC 주석을 사용할 때 우리가 관심을 지불 할 필요가 호환 SpringMVC의 의견을 향상되었습니다 : - @FeignClient 인터페이스 방법은 파라미터 또는 @RequestParam ( "XXX") @PathVariable 파라미터 기본형에 추가되어야 ( "XXX")
- @FeignClient 인터페이스 메소드 리턴 값은 복잡한 객체이 입력해야 생성자 파라미터의 존재 여부 인 경우.