栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringCloud最新版环境集成-2021年11月

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloud最新版环境集成-2021年11月

总述

之前搞过SpringCloud项目,但版本是netflix维护的伦敦地铁站名称的版本。现在想做一下笔记,并尝试最新版本,看有什么变动没。结果还真有一堆坑。此项目集成了eureka、feign、ribbon、hystrix、zuul五大组件。

一.项目结构

项目包含两个eureka集成,两个服务提供者producer,两个服务消费者consumer,一个服务路由zuul

二、父类项目pom.xml

主要定义依赖包的版本



    4.0.0
    com.ykq
    springclouddemo
    1.0.0
    springclouddemo
    Demo project for Spring Cloud
    pom
    
        UTF-8
        1.8
        1.8
        1.8
        2.5.7
        3.0.4
        2.2.10.RELEASE
    
    
        springcloud-eureka-server1
        springcloud-eureka-server2
        springcloud-consumer1
        springcloud-consumer2
        springcloud-producer1
        springcloud-producer2
        springcloud-zuul
    
    
        
            
                org.springframework.boot
                spring-boot-starter-parent
                ${springboot.version}
                pom
            

            
                org.springframework.boot
                spring-boot-starter-web
                ${springboot.version}
            

            
                org.springframework.cloud
                spring-cloud-starter
                ${springcloud.version}
            

            
                org.springframework.cloud
                spring-cloud-netflix-eureka-client
                ${springcloud.version}
            

            
                org.springframework.cloud
                spring-cloud-starter-loadbalancer
                ${springcloud.version}
            

            
                org.springframework.cloud
                spring-cloud-starter-openfeign
                ${springcloud.version}
            

            
                org.springframework.cloud
                spring-cloud-starter-netflix-eureka-server
                ${springcloud.version}
            

            
                org.springframework.cloud
                spring-cloud-starter-netflix-hystrix
                ${springcloud.netflix.version}
            

            
                org.springframework.cloud
                spring-cloud-starter-netflix-zuul
                ${springcloud.netflix.version}
            

            
                org.springframework.cloud
                spring-cloud-starter-netflix-ribbon
                ${springcloud.netflix.version}
            

            
                io.github.openfeign
                feign-hystrix
                10.12
            

            
                com.netflix.eureka
                eureka-client
                1.10.16
            

            
                com.netflix.ribbon
                ribbon-eureka
                2.2.5
            
        
    


三、eureka搭建

下面展示两个eureka的文件

1.springcloud-eureka-server1 (1)eureka1的pom.xml


    4.0.0
    
        com.ykq
        springclouddemo
        1.0.0
    
    com.ykq
    springcloud-eureka-server1
    1.0.0
    springcloud-eureka-server1
    Demo project for Spring Cloud
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-parent
            pom
        

        
            org.springframework.cloud
            spring-cloud-starter
        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
            
                
                    gson
                    com.google.code.gson
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.0.RELEASE
                
                    
                        
                            repackage
                        
                    
                
                
                    SpringcloudEurekaServerApplication1
                    com.ykq.SpringcloudEurekaServerApplication1
                
            
        
    


(2)eureka1的application.properties
spring.application.name=springcloud-eureka-server
server.port=10001
# 不向eureka注册
eureka.client.register-with-eureka=false
# 不从eureka获取注册信息
eureka.client.fetch-registry=false
# 向eureka注册的地址,后面服务名称必须为eureka
eureka.client.serviceUrl.defaultZone=http://localhost:10002/eureka/
(3)eureka1的启动类
package com.ykq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class SpringCloudEurekaServerApplication1 {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudEurekaServerApplication1.class, args);
    }
}
2.springcloud-eureka-server2 (1)eureka2的pom.xml


    4.0.0
    
        com.ykq
        springclouddemo
        1.0.0
    
    com.ykq
    springcloud-eureka-server2
    1.0.0
    springcloud-eureka-server2
    Demo project for Spring Cloud
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-parent
            pom
        

        
            org.springframework.cloud
            spring-cloud-starter
        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-server
            
                
                    gson
                    com.google.code.gson
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.0.RELEASE
                
                    
                        
                            repackage
                        
                    
                
                
                    SpringcloudEurekaServerApplication2
                    com.ykq.SpringcloudEurekaServerApplication2
                
            
        
    


(2)eureka2的application.properties
spring.application.name=springcloud-eureka-server
server.port=10002
# 不向eureka注册
eureka.client.register-with-eureka=false
# 不从eureka获取注册信息
eureka.client.fetch-registry=false
# 向eureka注册的地址,后面服务名称必须为eureka
eureka.client.serviceUrl.defaultZone=http://localhost:10001/eureka/
(3)eureka2的启动类
package com.ykq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class SpringCloudEurekaServerApplication2 {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudEurekaServerApplication2.class, args);
    }
}
四、producer搭建 1.springcloud-producer1 (1)producer1的项目结构

(2)producer1的pom.xml


    4.0.0
    
        com.ykq
        springclouddemo
        1.0.0
    
    com.ykq
    springcloud-producer1
    1.0.0
    springcloud-producer1
    Demo project for Spring Cloud
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-parent
            pom
        

        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.cloud
            spring-cloud-starter
        

        
            org.springframework.cloud
            spring-cloud-netflix-eureka-client
        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-hystrix
        

        
            com.netflix.eureka
            eureka-client
            
                
                    gson
                    com.google.code.gson
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.0.RELEASE
                
                    
                        
                            repackage
                        
                    
                
                
                    SpringcloudProducerApplication1
                    com.ykq.SpringcloudProducerApplication1
                
            
        
    


(3)producer1的application.properties
spring.application.name=springcloud-producer
server.port=10003
eureka.client.serviceUrl.defaultZone=http://localhost:10001/eureka/,http://localhost:10002/eureka/

eureka.instance.prefer-ip-address=true
(4)producer1的启动类
package com.ykq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;

@EnableHystrix
@EnableDiscoveryClient
@SpringBootApplication
public class SpringCloudProducerApplication1 {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudProducerApplication1.class, args);
    }
}
(5)producer1的HelloController1
package com.ykq.hello;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class HelloController1 {

    @RequestMapping(value = "/hello")
    public String hello() {
        return "hello world, I am producer1";
    }
}
(6)producer1的ProducerController1
package com.ykq.producer;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class ProducerController1 {
    @RequestMapping("/producerSupport")
    public String producer() {
        return "Hello, this is producer1 at your service!";
    }
}
(7)producer1的TestController1
package com.ykq.test;

import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class TestController1 {

    @HystrixCommand(fallbackMethod = "hystrixFallBack")
    @RequestMapping(value = "/test")
    public String hystrix() {
        throw new RuntimeException();
    }

    public String hystrixFallBack() {
        return "I am hystrixFallBack1";
    }
}
2.springcloud-producer2 (1)producer2的项目结构

(2)producer2的pom.xml


    4.0.0
    
        com.ykq
        springclouddemo
        1.0.0
    
    com.ykq
    springcloud-producer2
    1.0.0
    springcloud-producer2
    Demo project for Spring Cloud
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-parent
            pom
        

        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.cloud
            spring-cloud-starter
        


        
            org.springframework.cloud
            spring-cloud-netflix-eureka-client
        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-hystrix
        

        
            com.netflix.eureka
            eureka-client
            
                
                    gson
                    com.google.code.gson
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.0.RELEASE
                
                    
                        
                            repackage
                        
                    
                
                
                    SpringcloudProducerApplication2
                    com.ykq.SpringcloudProducerApplication2
                
            
        
    


(3)producer2的application.properties
spring.application.name=springcloud-producer
server.port=10004
eureka.client.serviceUrl.defaultZone=http://localhost:10001/eureka/,http://localhost:10002/eureka/

eureka.instance.prefer-ip-address=true
(4)producer2的启动类
package com.ykq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;

@EnableHystrix
@EnableDiscoveryClient
@SpringBootApplication
public class SpringCloudProducerApplication2 {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudProducerApplication2.class, args);
    }
}
(5)producer2的HelloController2
package com.ykq.hello;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class HelloController2 {

    @RequestMapping(value = "/hello")
    public String hello() {
        return "hello world, I am producer2";
    }
}
(6)producer2的ProducerController2
package com.ykq.producer;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class ProducerController2 {
    @RequestMapping("/producerSupport")
    public String producer() {
        return "Hello, this is producer2 at your service!";
    }
}
(7)producer2的TestController2
package com.ykq.test;

import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class TestController2 {

    @HystrixCommand(fallbackMethod = "hystrixFallBack")
    @RequestMapping(value = "/test")
    public String hystrix() {
        throw new RuntimeException();
    }

    public String hystrixFallBack() {
        return "I am hystrixFallBack2";
    }
}
五、consumer搭建 1.springcloud-consumer1 (1)consumer1的项目结构

(2)consumer1的pom.xml


    
        springclouddemo
        com.ykq
        1.0.0
    
    4.0.0

    com.ykq
    springcloud-consumer1
    1.0.0
    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-parent
            pom
        

        
            org.springframework.cloud
            spring-cloud-starter
        

        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.cloud
            spring-cloud-netflix-eureka-client
        

        
            org.springframework.cloud
            spring-cloud-starter-loadbalancer
        

        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-hystrix
        

        
            io.github.openfeign
            feign-hystrix
        

        
            com.netflix.eureka
            eureka-client
            
                
                    gson
                    com.google.code.gson
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.0.RELEASE
                
                    
                        
                            repackage
                        
                    
                
                
                    SpringCloudConsumerApplication1
                    com.ykq.SpringCloudConsumerApplication1
                
            
        
    

(3)consumer1的application.properties
spring.application.name=springcloud-consumer
server.port=10005
eureka.client.serviceUrl.defaultZone=http://localhost:10001/eureka/,http://localhost:10002/eureka/
eureka.instance.appname=springcloud-consumer
server.servlet.context-path=/springcloud-consumer
# 开启hystrix断路器,老版本为feign。hystrix.enable==true
feign.circuitbreaker.enabled=true
#允许存在多个Feign调用相同Service的接口
spring.main.allow-bean-definition-overriding=true

eureka.instance.prefer-ip-address=true
(4)consumer1的启动类
package com.ykq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;


@EnableDiscoveryClient
@EnableFeignClients
@SpringBootApplication
public class SpringCloudConsumerApplication1 {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudConsumerApplication1.class, args);
    }
}
(5)consumer1的HelloController
package com.ykq.hello;

import com.ykq.api.HelloFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class HelloController {
    @Autowired
    private HelloFeign helloFeign;

    @RequestMapping(value = "/hello")
    public String hello() {
        return helloFeign.hello();
    }
}
(6)consumer1的HelloFeign
package com.ykq.api;

import com.ykq.api.hystrix.HelloFeignHystrix;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


@FeignClient(name= "springcloud-producer", fallback= HelloFeignHystrix.class)
public interface HelloFeign {
    @RequestMapping(value = "/hello")
    String hello();
}
(7)consumer1的HelloFeignHystrix
package com.ykq.api.hystrix;

import com.ykq.api.HelloFeign;
import org.springframework.stereotype.Component;


@Component
public class HelloFeignHystrix implements HelloFeign {
    public String hello() {
        return "hello world, I am feign hystrix1";
    }
}
(8)consumer1的ConsumerController
package com.ykq.consumer;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class ConsumerController {
    @RequestMapping("/consumerSupport")
    public String consumer(){
        return "Hello, this is consumer1 at your service!";
    }
}
(9)consumer1的TestController
package com.ykq.test;

import com.ykq.api.TestFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class TestController {
    @Autowired
    private TestFeign testFeign;

    @RequestMapping("/test")
    public String test() {
        return testFeign.test();
    }
}
(10)consumer的TestFeign
package com.ykq.api;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;


@FeignClient(name= "springcloud-producer")
public interface TestFeign {
    @RequestMapping(value = "/test")
    String test();
}
2.springcloud-consumer2 (1)consumer2的项目结构

(2)consumer2的pom.xml


    
        springclouddemo
        com.ykq
        1.0.0
    
    4.0.0

    com.ykq
    springcloud-consumer2
    1.0.0
    
        1.8
    

    
        
            org.springframework.boot
            spring-boot-starter-parent
            pom
        

        
            org.springframework.cloud
            spring-cloud-starter
        

        
            org.springframework.boot
            spring-boot-starter-web
        



        
            org.springframework.cloud
            spring-cloud-netflix-eureka-client
        

        
            org.springframework.cloud
            spring-cloud-starter-loadbalancer
        

        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-hystrix
        

        
            io.github.openfeign
            feign-hystrix
        

        
            com.netflix.eureka
            eureka-client
            
                
                    gson
                    com.google.code.gson
                
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.0.RELEASE
                
                    
                        
                            repackage
                        
                    
                
                
                    SpringCloudConsumerApplication2
                    com.ykq.SpringCloudConsumerApplication2
                
            
        
    

(3)consumer2的application.properties
spring.application.name=springcloud-consumer
server.port=10006
eureka.client.serviceUrl.defaultZone=http://localhost:10001/eureka/,http://localhost:10002/eureka/
eureka.instance.appname=springcloud-consumer
server.servlet.context-path=/springcloud-consumer
# 开启hystrix断路器,老版本为feign。hystrix.enable==true
feign.circuitbreaker.enabled=true
#允许存在多个Feign调用相同Service的接口
spring.main.allow-bean-definition-overriding=true

eureka.instance.prefer-ip-address=true
(4)consumer2的启动类
package com.ykq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;


@EnableDiscoveryClient
@EnableFeignClients
@SpringBootApplication
public class SpringCloudConsumerApplication2 {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudConsumerApplication2.class, args);
    }
}
(5)consumer2的HelloController
package com.ykq.hello;

import com.ykq.api.HelloFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class HelloController {
    @Autowired
    private HelloFeign helloFeign;

    @RequestMapping(value = "/hello")
    public String hello() {
        return helloFeign.hello();
    }
}
(6)consumer2的HelloFeign
package com.ykq.api;

import com.ykq.api.hystrix.HelloFeignHystrix;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;


@FeignClient(name= "springcloud-producer", fallback= HelloFeignHystrix.class)
public interface HelloFeign {
    @RequestMapping(value = "/hello")
    String hello();
}
(7)consumer2的HelloFeignHystrix
package com.ykq.api.hystrix;

import com.ykq.api.HelloFeign;
import org.springframework.stereotype.Component;


@Component
public class HelloFeignHystrix implements HelloFeign {
    public String hello() {
        return "hello world, I am feign hystrix2";
    }
}
(8)consumer2的ConsumerController
package com.ykq.consumer;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class ConsumerController {
    @RequestMapping("/consumerSupport")
    public String consumer(){
        return "Hello, this is consumer2 at your service!";
    }
}
(9)consumer2的TestController
package com.ykq.test;

import com.ykq.api.TestFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class TestController {
    @Autowired
    private TestFeign testFeign;

    @RequestMapping("/test")
    public String test() {
        return testFeign.test();
    }
}
(10)consumer2的TestFeign
package com.ykq.api;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;


@FeignClient(name= "springcloud-producer")
public interface TestFeign {
    @RequestMapping(value = "/test")
    String test();
}
六、zuul搭建 1.springcloud-zuul (1)zuul的pom.xml


    4.0.0
    
        springclouddemo
        com.ykq
        1.0.0
    
    com.ykq
    springcloud-zuul
    1.0.0
    springcloud-zuul
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-parent
            pom
        

        
            org.springframework.cloud
            spring-cloud-starter
        

        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.cloud
            spring-cloud-netflix-eureka-client
        

        
            org.springframework.cloud
            spring-cloud-starter-loadbalancer
        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-zuul
        

        
            org.springframework.cloud
            spring-cloud-starter-netflix-ribbon
        

        
            com.netflix.eureka
            eureka-client
            
                
                    gson
                    com.google.code.gson
                
            
        

        
            com.netflix.ribbon
            ribbon-eureka
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.0.RELEASE
                
                    
                        
                            repackage
                        
                    
                
                
                    SpringCloudZuulApplication
                    com.ykq.SpringCloudZuulApplication
                
            
        
    


(2)zuul的application.properties
spring.application.name=springcloud-zuul
server.port=10007

eureka.client.fetch-registry=true
eureka.client.serviceUrl.defaultZone=http://localhost:10001/eureka/,http://localhost:10002/eureka/
eureka.instance.prefer-ip-address=true
#server.servlet.context-path=/zuul

zuul.routes.springcloud-consumer.path=/springcloud-consumer/**
zuul.routes.springcloud-consumer.serviceId=springcloud-consumer
#zuul.routes.springcloud-consumer.url=http://127.0.0.1:10005/
zuul.routes.springcloud-consumer.strip-prefix=false

springcloud-consumer.ribbon.NIWSServerListClassName=com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList
springcloud-consumer.ribbon.ServerListUpdaterClassName=com.netflix.niws.loadbalancer.EurekaNotificationServerListUpdater
# refresh every minute
springcloud-consumer.ribbon.ServerListRefreshInterval=60000


zuul.routes.springcloud-producer.path=/springcloud-producer/**
# 只添加serviceId是不行的,需要指定NIWSServerListClassName和ServerListUpdaterClassName
#zuul.routes.producer.service-id=springcloud-producer
# 单一url没法实现负载
#zuul.routes.springcloud-producer.url=http://127.0.0.1:10003/
# 指定负载url
springcloud-producer.ribbon.listOfServers=http://127.0.0.1:10003/,http://127.0.0.1:10004/


zuul.routes.baidu.path=/json/**
zuul.routes.baidu.url=http://www.json.cn/

# 设置超时时间
zuul.host.connect-timeout-millis=3000
zuul.host.connection-request-timeout-millis=3000

# 强制加载,不设置会进行懒加载。spring 第一次请求会非常慢
zuul.ribbon.eager-load.enabled=true
# ribbon 从eureka拉取数据
ribbon.eureka.enabled=true
(3)zuul的启动类
package com.ykq;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

@EnableZuulProxy
@EnableDiscoveryClient
@EnableEurekaClient
@SpringBootApplication
public class SpringCloudZuulApplication {

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

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631855.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号