zoukankan      html  css  js  c++  java
  • 03. Feign

    03. Feign

    Feign使用面向api编程, 来简化编程 ,默认使用RoundRobbin,可以不需要额外配置负载均衡

    在ribbon的基础上修改

    1. microsoft-api
    • 修改api的pom.xml添加

              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-starter-openfeign</artifactId>
              </dependency>
      
    • 添加一个接口

      //name对应微服务名称
      @FeignClient("MICROSOFT-PROVIDER")
      public interface DeptClientService {
          //表示发送/provider/add请求到MICROSOFT-PROVIDER所在的服务
          @PostMapping(path = {"/provider/add"})
          boolean add(@RequestBody Dept dept);
      
          @GetMapping(path = "/provider/get/{id}")
           Dept get(@PathVariable("id") Integer id);
      
          @GetMapping(path = "/provider/get")
           List<Dept> list();
      }
      
    1. 添加一个模块, 将consumer拷贝
    • 添加依赖

              <dependency>
                  <groupId>org.springframework.cloud</groupId>
                  <artifactId>spring-cloud-starter-openfeign</artifactId>
              </dependency>
      
    • 修改controller

      @RestController
      @RequestMapping("/consumer")
      public class DeptConsumerController {
          @Autowired
          DeptClientService service;
          //controller中的mapping可以与接口中定义的不同,但是api接口中的mapping要与微服务定义的mapping相同
          @PostMapping(path = {"/add"})
          public boolean add(@RequestBody Dept dept){
              return service.add(dept);
          }
          @GetMapping(path = "/get/{id}")
          public Dept get(@PathVariable("id") Integer id){
              return service.get(id);
          }
      
          @GetMapping(path = "/get")
          public List<Dept> list(){
              return service.list();
          }
      }
      
    • 修改主启动类

      //扫描对应@FeignClient修饰的接口所在包
      @EnableFeignClients({"com.chz.microsoftapi.service"})
      @EnableEurekaClient
      @SpringBootApplication
      public class MicrosoftConsumer80FeignApplication {
      
      	public static void main(String[] args) {
      		SpringApplication.run(MicrosoftConsumer80FeignApplication.class, args);
      	}
      }
      

      如果使用RoundRobbin来负载均衡就行, 那么就不用配置Ribbon

  • 相关阅读:
    获得微软最具影响力开发者(GDI)
    推荐一个制作卡通头像的网站(超强)
    李煜词全集
    15款语言学习2.0网络服务
    SNS社么时候回归社交? !!
    公司附近雪景
    Powershell实践之Discuz!NT自动打包发布
    使用 Office Live 时 Install Office Live Update 1.2出错的解决办法
    修改linux swap空间的swappiness,降低对硬盘的缓存
    TFS "TF30063: 您没有权限访问 MicrosoftIIS/7.0."
  • 原文地址:https://www.cnblogs.com/kikochz/p/12868814.html
Copyright © 2011-2022 走看看