SpringCloud-服务消费者

开发步骤

选择起步依赖

这里写图片描述

  1. 选择Web的起步依赖 web
  2. 选择Discovery 发现模块

1 引入配置文件

spring.application.name=orderclient
server.port=3000
eureka.client.service-url.deaultZone=http://127.0.0.2:8761/eureka

2 启动入口类,添加注解

@EnableEurekaClient

3 开发调用服务代码

3.1 ribbon(负载均衡客户端)+restTemplate方式

@Controller
@RequestMapping("/client")
public class TestController {

    @Resource
    private RestTemplate restTemplate;

    @RequestMapping("/test")
    @ResponseBody
    public String test(String name){
        String forObject = restTemplate.getForObject("http://ORDERSERVICE/order/create?name="+name, String.class);
        System.out.println(forObject);
        return  forObject;
    }

    @Bean
    //负载均衡
    @LoadBalanced
    public RestTemplate restTemplate(){
        return  new RestTemplate();
    }
}

3.2 Fegin开发方式

Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。

简而言之:
Feign 采用的是基于接口的注解
Feign 整合了ribbon,具有负载均衡的能力
整合了Hystrix,具有熔断的能力

  • 1 增加Fegin起步依赖
 <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-starter-openfeign</artifactId>
  </dependency>
  • 2 入口类添加FeignClients注解
@EnableFeignClients
  • 3 开发接口
//@ FeignClient("服务名")
@FeignClient("ORDERSERVICE")
public interface ServiceFeginInterfaces {
    //value 调用的具体方法
    @RequestMapping(value = "/order/create",method = RequestMethod.GET)
    String testdemo(@RequestParam(value = "name") String name);

}
  • 4 开发具体调用代码
@Controller
@RequestMapping("/client2")
public class TestController2 {

    @Resource
    ServiceFeginInterfaces serviceFeginInterfaces;

    @RequestMapping("/test2")
    @ResponseBody
    public String test(String name){
        String testdemo = serviceFeginInterfaces.testdemo(name);
        return  testdemo;
    }

}

4 启动进行测试

注意查看 负载均衡是否成功

猜你喜欢

转载自blog.csdn.net/GJX_BLOG/article/details/81462701
今日推荐