美文网首页
2019-06-17zuul 动态路由

2019-06-17zuul 动态路由

作者: zz云飞扬 | 来源:发表于2019-06-17 14:12 被阅读0次

1/bootstrap.yml, 因为要从配置中心读取文件( 从配置中心读取文件,配置文件名称必须bootsrap.yml, 不能用 application.yml。有一种说法是因为 bootstrap.yml 会在程序启动时知道要先从remote 读取信息,当然必要的jar 包别忘记引入)

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 9000 

#第一句设置hystrix 熔断时间

server:

  port: 1010

eureka:

  client:

    #eureka server的url 配置

    service-url:

      defaultZone: http://localhost:1005/eureka/

#是否注册到eureka

    register-with-eureka: true

    fetch-registry: true

spring:

  application:

    #应用名称,需要和git 上存的配置文件前缀一致

    name: zuul

#以下配置是从配置中心读取文件信息的配置

  cloud:

    config:

      discovery:

        enabled: true

        #配置中心名称

        service-id: config-server

    #git 上命名规则是 服务名称-环境.yml, 服务名称就是本服务名称,name:zuul, 环境          #prd,  所以这是读取zulul-prd.yml 的配置文件

      profile: prd

#开启所有监控中心接口

management:

  endpoints:

    web:

      exposure:

        include: "*"

#设置zuul调用超时时间。

ribbon:

    ReadTimeout: 60000

    SocketTimeout: 60000

#git 上的配置文件

git 配置文件 configserver

2、zuul 程序入口类

程序入口类

@RefreshScope 开启手动刷新方式。 手动刷新时 post 方式  访问 url: http://192.168.1.100:1010/actuator/refresh 即可。 整理中发现, 如果删除 git 配置中的 api-order 及其所有配置, 不重启,手动刷新后貌似仍能正常访问 api-order下的内容。 如果修改了api-order 的配置, 手动刷新后访问时就是用的最新配置。新增配置,手动刷新后也更新配置为最新git信息。

3、pom 文件

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-parent</artifactId>

        <version>2.1.5.RELEASE</version>

        <relativePath/> <!-- lookup parent from repository -->

    </parent>

    <groupId>com.zbiti</groupId>

    <artifactId>zuultest</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <name>zuultest</name>

    <description>Demo project for Spring Boot</description>

    <properties>

        <java.version>1.8</java.version>

        <spring-cloud.version>Greenwich.SR1</spring-cloud.version>

    </properties>

    <dependencies>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.cloud</groupId>

            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.cloud</groupId>

            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-test</artifactId>

            <scope>test</scope>

        </dependency>

        <dependency>

            <groupId>org.springframework.cloud</groupId>

            <artifactId>spring-cloud-starter-config</artifactId>

        </dependency>

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-starter-actuator</artifactId>

            <version>2.1.1.RELEASE</version>

        </dependency>

    </dependencies>

    <dependencyManagement>

        <dependencies>

            <dependency>

                <groupId>org.springframework.cloud</groupId>

                <artifactId>spring-cloud-dependencies</artifactId>

                <version>${spring-cloud.version}</version>

                <type>pom</type>

                <scope>import</scope>

            </dependency>

        </dependencies>

    </dependencyManagement>

    <build>

        <plugins>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

            </plugin>

        </plugins>

    </build>

    <repositories>

        <repository>

            <id>spring-milestones</id>

            <name>Spring Milestones</name>

            <url>https://repo.spring.io/libs-milestone</url>

            <snapshots>

                <enabled>false</enabled>

            </snapshots>

        </repository>

    </repositories>

</project>

本地配置路由的又一个实例:

1、配置

zuul配置文件

简化版配置

也就是比如 eureka里注册的微服务名称 service-order, 不用再zuul里配置,默认的访问 {zuulip:port}/service-order/** , 就会访问的微服务service-order 的ip上去。

zuul配路由简化

2、访问

访问测试

相关文章

  • 2019-06-17zuul 动态路由

    1/bootstrap.yml, 因为要从配置中心读取文件( 从配置中心读取文件,配置文件名称必须bootsrap...

  • Vue 动态路由

    动态路由 动态路由传参

  • 动态路由 & 嵌套路由实例

    1.动态路由 注意:动态路由以‘:’开头。$route 参数表见 “ 动态路由 & 嵌套路由 ” 2.嵌套路由 注...

  • vue路由的介绍(二)--vue动态路由和get的传值

    vue动态路由和get的传值---->同属于路由的传参 1,vue动态路由: 动态路由的配置: ①,在配置路由时加...

  • 处理路由和权限映射element-admin

    你现在项目中如何处理路由和权限映射的? 动态路由分析动态路由流程图 动态路由源码分析生成动态路由的源码位于 src...

  • vue全家桶(2.5)

    3.8.动态路由匹配和路由组件传参 #3.8.1.动态路由匹配 动态路由意味着不固定,具有某种模式,我们希望通过某...

  • vue动态路由传值和get传值

    1、动态路由传值2、get传值 不同路由传值:动态路由 1、配置动态路由,main.js 2、在列表页NewsLi...

  • Vue常见面试题

    1.怎么定义vue-router的动态路由?怎么获取传递过来的动态参数? 何为动态路由?能够提供参数的路由即为动态...

  • vue中的路由

    vue中4中路由包含: 1、动态路由2、嵌套路由3、编程式路由4、命名式路由 1、动态路由 2、嵌套路由 3、编程...

  • this.$router.push的问题

    会匹配到‘/login’路由,但是 如果遇到动态路由会加载到动态路由后面。 所以不要忘了加'/'

网友评论

      本文标题:2019-06-17zuul 动态路由

      本文链接:https://www.haomeiwen.com/subject/dqyofctx.html