zoukankan      html  css  js  c++  java
  • spring-cloud-2.x(服务消费者)

     项目下载地址  https://github.com/huangDevelop/springcloud

    一、新建项目springcloud-consumer,复制springcloud-provider,修改名称为springcloud-provider-02(端口8082),springcloud-provider-03(端口8083)

    二、负载均衡

    aribbon负载均衡

    pom.xml

    <!-- ribbon -->
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-ribbon</artifactId>
    <version>1.4.0.RELEASE</version>
    </dependency>

    配置文件
    server:
    port: 82

    spring:
    application:
    name: ribbon-consumer
    eureka:
    instance:
    hostname: 192.168.0.230
    port: 8761
    client:
    service-url:
    default-zone: http://${eureka.instance.hostname}:${eureka.instance.port}/eureka/

    启动类
    @SpringBootApplication
    public class RibbonApplication {

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

    创建访问类

    @RestController
    public class RibbonController {

    @Autowired
    private RestTemplate restTemplate;
    /**
    * 指定调用服务提供者(eureka-provider-dev)
    */
     @RequestMapping(value = "/ribbon")
    public String hello() {
    return restTemplate.getForEntity("http://eureka-provider-dev/", String.class).getBody();
    }

    }
    测试

    访问消费者接口 http://192.168.0.230:82/ribbon

    ribbon负载均衡处理成功

    b.fiegn负载均衡

    pom.xml

    <!-- feign -->
    <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    <version>2.0.0.RELEASE</version>
    </dependency>

    配置文件

    server:
    port: 81

    spring:
    application:
    name: feign-consumer

    eureka:
    instance:
    hostname: 192.168.0.230
    port: 8761
    client:
    service-url:
    default-zone: http://${eureka.instance.hostname}:${eureka.instance.port}/eureka/

    启动类

    @EnableFeignClients  //声明feign客户端

    @SpringBootApplication
    public class FeignConsumerApplication {

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

    创建feign接口

    /**
    * 指定调用服务提供者(eureka-provider-dev)
    */
    @FeignClient("eureka-provider-dev")
    public interface FeignConsumer {

      /**
       * 访问服务提供者方法
       * @return
       */
    @RequestMapping("/")
        String writePort();

    }

    创建访问类

    @RestController
    public class FeignController {

    @Autowired
    private FeignConsumer feignConsumer;
        @RequestMapping(value = "/feign")
    public String hello() {
    return feignConsumer.writePort();
    }

    }

    测试

    启动成功,注册中心收到信号

    访问消费者接口 http://192.168.0.230:81/feign

    feign负载均衡处理成功

    c.eureka负载均衡

    配置文件
    server:
    port: 80
    启动类
    @SpringBootApplication
    public class EurekaConsumerApplication {

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

    }
    创建访问类
    @RestController
    public class EurekaController {

    @Autowired
    private EurekaClient client;

    @RequestMapping("/")
    public String hello() {
    InstanceInfo instanceInfo = client.getNextServerFromEureka("eureka-provider-dev", false);
    return instanceInfo.getHomePageUrl();
    }

    }
    测试

    eureka负载均衡处理成功



  • 相关阅读:
    Java编程基础
    Python开发【第十四篇】:Python操作MySQL
    MySQL(二)
    MySQL(一)
    Python之路【第五篇】:面向对象及相关
    Python开发【第四篇】:Python基础之函数
    Python开发【第三篇】:Python基本数据类型
    等保测评备案流程?备案资料有哪些?
    xls/csv文件转换成dbf文件
    csv 转换为DBF文件的方法
  • 原文地址:https://www.cnblogs.com/hl201211/p/10254399.html
Copyright © 2011-2022 走看看