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线程】Java线程池ExecutorService
    MappedByteBuffer高速缓存文件、RandomAccessFile随机访问
    RandomAccessFile和memory-mapped files
    花1K内存实现高效I/O的RandomAccessFile类
    家庭局域网的组建(2台或2台以上)
    设置IE浏览器代理上网
    局域网Internet的共享
    三层设备---路由器
    二层设备---网桥和交换机
    底层设备---中继器和集线器
  • 原文地址:https://www.cnblogs.com/hl201211/p/10254399.html
Copyright © 2011-2022 走看看