기술나눔

곡물상점 연구노트-22-분산구성요소-SpringCloud-OpenFeign 테스트 원격통화

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


이전 섹션에서 등록 센터에 대해 배웠습니다. 서버 A가 서버 B를 호출하기 전에 등록 센터에서 서비스 B의 IP를 얻은 다음 서버 A가 서비스 B에 요청한다는 것을 알고 있습니다.

그렇다면 서버 A는 어떻게 서비스 B에 요청을 할까요?

이것이 이 섹션에서 다루게 될 주요 질문이다.

이 프로젝트에서 OpenFeign 구성 요소는 서비스 간 호출을 완료하는 데 사용됩니다. OpenFeign은 HTTP 요청을 캡슐화한 것입니다.

1. OpenFeign 소개

OpenFeign은 원격 호출을 더 쉽게 만드는 것이 목적인 선언적 HTTP 클라이언트입니다.

Feign은 간단한 인터페이스를 작성하고 주석을 삽입하여 HTTP 요청의 매개변수, 형식, 주소 및 기타 정보를 정의할 수 있는 템플릿을 제공합니다.

Feign은 Ribbon(로드 밸런싱)과 Hystrix(서비스 중단)를 통합하므로 더 이상 이 두 구성 요소를 명시적으로 사용할 필요가 없습니다.

SpringCloudFeign은 NetflixFeign을 기반으로 SpringMVC 주석에 대한 지원을 확장합니다. 구현 시 서비스 공급자에 대한 인터페이스 바인딩을 완료하려면 인터페이스를 생성하고 주석으로 구성하기만 하면 됩니다. SpringCloudRibbon 자체 캡슐화 서비스 호출 클라이언트 개발을 단순화했습니다.

2. OpenFeign 사용 단계

1. 장면 설명

OpenFeign의 사용법을 배우기 위해 시나리오 기반 문제를 사용합니다.会员服务전화하려면优惠券服务회원이 사용할 수 있는 쿠폰 정보를 반환하는 인터페이스입니다.

본 쿠폰의 인터페이스는 테스트용 인터페이스이며 실제 비즈니스 로직은 없습니다.
여기에 이미지 설명을 삽입하세요.

	@RequestMapping("member/list")
    public R list(){
        CouponEntity couponEntity = new CouponEntity();
        couponEntity.setCouponName("慢100减80");

        return R.ok().put("page", Arrays.asList(couponEntity));
    }