• springcloud(十五):搭建Zuul微服务网关


    springcloud(十四):搭建Zuul微服务网关

     1.创建项目如下

     2.创建项目勾选web,zuul,eurekaclient

    3.pom.xml文件内容许下

     1     <dependencies>
     2         <dependency>
     3             <groupId>org.springframework.boot</groupId>
     4             <artifactId>spring-boot-starter-web</artifactId>
     5         </dependency>
     6         <dependency>
     7             <groupId>org.springframework.cloud</groupId>
     8             <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
     9         </dependency>
    10         <dependency>
    11             <groupId>org.springframework.cloud</groupId>
    12             <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
    13         </dependency>
    14 
    15         <dependency>
    16             <groupId>org.springframework.boot</groupId>
    17             <artifactId>spring-boot-starter-test</artifactId>
    18             <scope>test</scope>
    19         </dependency>
    20     </dependencies>
    pom.xml

    4.属性文件如下

     1 #给该服务起名字
     2 spring.application.name=eureka-zuul
     3 
     4 #定义该服务的端口号
     5 server.port=7600
     6 
     7 #路由配置:配置访问映射路径
     8 zuul.routes.client-school-provider=/pro/**
     9 #zuul.routes.classes-client-consumer=/con/**
    10 
    11 ##zuul中默认就已经集成了Ribbon负载均衡和Hystix熔断机制。但是所有的超时策略
    12 ##都是走的默认值,比如熔断超时时间只有1s,很容易就触发了,因此建议我们手动配置如下:
    13 ##否则就会报出如下错误:
    14 ##There was an unexpected error (type=Gateway Timeout, status=504).
    15 ##com.netflix.zuul.exception.ZuulException: Hystrix Readed time out
    16 ##这个错误是因为拉取服务的默认时间太短,导致拉取服务失败了,最终导致访问失败
    17 #是否开启重试功能
    18 #zuul.retryable=true
    19 ##是否对所有操作重试
    20 #ribbon.OkToRetryOnAllOperations=true
    21 ###对当前服务的重试次数
    22 #ribbon.MaxAutoRetries=1
    23 
    24 ##同一实例的不同服务的重试次数
    25 #ribbon.MaxAutoRetriesNextServer=2
    26 
    27 
    28 #zuul.host.socket-timeout-millis= 60000
    29 #zuul.host.connect-timeout-millis=60000
    30 
    31 ##链接超时时间
    32 #ribbon.ConnectTimeout=60000
    33 ###通信超时时间
    34 #ribbon.ReadTimeout=60000
    35 
    36 
    37 ##熔断器超时时长
    38 #hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=60000
    39 
    40 
    41 #注册中心配置
    42 eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
    application.properties

    5.启动类如下

     1 package cn.kgc;
     2 
     3 import org.springframework.boot.SpringApplication;
     4 import org.springframework.boot.autoconfigure.SpringBootApplication;
     5 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
     6 import org.springframework.cloud.netflix.feign.EnableFeignClients;
     7 import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
     8 
     9 @EnableEurekaClient
    10 @EnableZuulProxy
    11 @SpringBootApplication
    12 public class EurekaZuulApplication {
    13 
    14     public static void main(String[] args) {
    15         SpringApplication.run(EurekaZuulApplication.class, args);
    16     }
    17 
    18 }
    EurekaZuulApplication.java
  • 相关阅读:
    CentOS中rpm和yum到底有什么区别?
    Anaconda是个什么东东?
    Hadoop入门学习整理(三)
    Hadoop入门学习整理(二)
    CentOS6.10下安装MongoDB和Redis
    Linux 系统中环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别
    一些想法
    时间
    周末
    条件
  • 原文地址:https://www.cnblogs.com/holly8/p/11058265.html
Copyright © 2020-2023  润新知