2018-06-17-Spring cloud(3)-负载均衡(

2018-10-24  本文已影响0人  ohcomeyes

Spring Cloud Feigin(负载均衡)

上文提到的服务消费者采用的是RestTemplate+ribbon(实现负载均衡)
目前,在Spring cloud中服务之间通过restful方式调用有两种方式

  1. delete() 在特定的URL上对资源执行HTTP DELETE操作
  2. exchange()在URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从响应体中映射得到的
  3. execute() 在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象
  4. getForEntity() 发送一个HTTPGET请求,返回的ResponseEntity包含了响应体所映射成的对象
  5. getForObject() 发送一个HTTP GET请求,返回的请求体将映射为一个对象
  6. postForEntity()POST数据到一个URL,返回包含一个对象的ResponseEntity,这个对象是从响应体中映射得到的
  7. postForObject() POST 数据到一个URL,返回根据响应体匹配形成的对象
  8. headForHeaders() 发送HTTP HEAD请求,返回包含特定资源URL的HTTP头
  9. optionsForAllow() 发送HTTP OPTIONS请求,返回对特定URL的Allow头信息
  10. postForLocation() POST 数据到一个URL,返回新创建资源的URL
  11. put() PUT 资源到特定的URL

Feign特性

Feign能干RibbonHystrix的事情,但是要用RibbonHystrix自带的注解必须要引入相应的jar包才可以,
Feign还提供了HTTP请求的模板,通过编写简单的接口和注解,就可以定义好HTTP请求的参数、格式、地址等信息

添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

开启Feign

@EnableFeignClients
@EnableDiscoveryClient
@SpringBootApplication
public class FeignConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(FeignConsumerApplication.class, args);
    }
}

创建接口(feign提供的http请求模板)
通过@FeignClient("服务名"),来指定调用哪个服务

@FeignClient("eureka-provider")
public interface  HomeClient {

    @GetMapping("/") //服务提供者”/“访问的方法
    String consumer();
}

消费方法

//不解释了吧
@RestController
public class ConsumerController {

    @Autowired
    private HomeClient homeClient;

    @GetMapping(value = "/hello")
    public String hello() {
        return  homeClient.consumer();
    }
}

消费配置

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

spring:
  application:
    name: feign-consumer

server:
  port: 9000

结语

github上有关于Spring Cloud完整的部署。
其它相关文章
Spring cloud(1)-简介以及选择
Spring cloud(2)-服务发现(Eureka,Consul)
Spring cloud(3)-负载均衡(Feign,Ribbon)
Spring cloud(4)-熔断(Hystrix)
Spring cloud(5)-路由网关(Zuul)
Spring cloud(6)-配置管理及刷新(Config,Bus)
最后,给个 star 吧~
个人博客~
简书~

上一篇 下一篇

猜你喜欢

热点阅读