• 编写Eureka Feign Client


    一: 编写Eureka Feign Client:
    
        1.在POM文件中引入依赖:
                    <dependency>
                        <groupId>org.springframework.cloud</groupId>
                        <artifactId>spring-cloud-starter-openfeign</artifactId>
                    </dependency>
    
                    <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
                    </dependency>
    
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-web</artifactId>
                    </dependency>
    
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-test</artifactId>
                        <scope>test</scope>
                    </dependency>
    
                    <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-actuator</artifactId>
                    </dependency>
    
        2. 配置application.yml
            spring:
              application:
                name: eureka-feign-client
            server:
              port: 8765
    
            eureka:
              client:
                serviceUrl:
                  defaultZone: http://localhost:8761/eureka/
    
        3. 在EurekaFeignClientApplication上增加@EnableEurekaClient开启 Eureka Client的功能,增加@EnableFeignClients开启FeignClient功能。
    
        4. 新建一个FeignConfig类
            在FeignConfig 类加上@Configuration 注解,表明该类是一个配置类,并注入一个BeanName为feignRetryer 的Retryer的Bean 。
            注入该Bean 之后, Feign 在远程调用失败后会进行重试。
    
        5. 新建一个EurekaClientFeign接口
                在接口上加@FeignClient 注解来声明一个Feign Client,其中value 为远程调用其他服务的服务名, FeignConfig.class 为Feign Client 的配置类。
                在EurekaClientFeign 接口内部有一个sayHiFromClientEureka()方法,该方法通过Feign 来调用eureka-client 服务的“/hi”的API 接口
    
        6. 新建一个HiService类
            Hi Service 类注入EurekaClientFeign 的Bean ,通过EurekaClientF eign 去调用sayHiFromClientEureka()方法。
    
        7. 新建一个HiController类
            在Hi Controller 上加上@RestController 注解,开启RestController 的功能,写一个API 接口“/hi”,
            在该接口调用了Hi Service 的sayHi ()方法。HiService 通过EurekaClientFeign 远程调用eureka-cl ient 服务的API 接口"/hi"
    
        8.  启动eureka-server功能,端口为8761。启动两个eureka-client示例,端口分别为8762,8763。
            (如果已经启动,请忽略。9. 启动eureka-feign-client服务后,在浏览器上访问http://localhost:8765/hi
            浏览器会 轮流 显示如下内容:
                hi forezp,i am from port : 8763
                hi forezp , i am from port : 8762
    
            由此可见, Feign Client 远程调用了eureka-client 服务(存在端口为8762 和8763 的两个实例)的“/hi” API 接口, Feign Client 有负载均衡的能力。
            查看起步依赖spring-cloud-starter-openfeign的pom 文件,可以看到该起步依赖默认引入了Ribbon 和Hystrix 的依赖,即负载均衡和熔断器的依赖。
    
        注意:feign默认是HttpURLConnection进行http请求发送。 如果要使用apache httpclient请参考 eurka-feign-httpclient module。
  • 相关阅读:
    [WARNING] 找不到编译器:wepy-compiler-less。 [Error] 未发现相关 less 编译器配置,请检查wepy.config.js文件。
    wepy-cli : Failed to download repo standard: getaddrinfo ENOENT raw.githubusercontent.com
    火币Huobi 币安 Binance ios 反编译
    iPhone 反编译-微信多开分身版原理,一部iPhone登录多个微信号
    安卓微信分身版 一部手机同时登录多个微信号 原理
    微信smali反编译 查看撤回消息
    微信抢红包
    Dota2 荒神罪 破解
    微信smali反编译 语音消息转发功能
    mac安装mysql流程
  • 原文地址:https://www.cnblogs.com/tszr/p/16059337.html
Copyright © 2020-2023  润新知