zuul路由网关(六)

1.路由基本配置

全部的Demo点击下载Demo

1.新建Module模块servicecloud-zuul-gateway-9527

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 https://maven.apache.org/xsd/maven-4.0.0.xsd" >
    <modelVersion> 4.0.0 </modelVersion>
    <parent>
        <groupId> com.goolecloud.springcloud </groupId>
        <artifactId> serverspringcloud </artifactId>
        <version> 0.0.1-SNAPSHOT </version>
    </parent>

    <artifactId> servicecloud-zuul-gateway-9527 </artifactId>


    <dependencies>
        <!-- zuul 路由网关 -->
        <dependency>
            <groupId> org.springframework.cloud </groupId>
            <artifactId> spring-cloud-starter-netflix-zuul </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 </artifactId>
        </dependency>
        <!-- actuator 监控 -->
        <dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-starter-actuator </artifactId>
        </dependency>
        <!-- hystrix 容错 -->
        <dependency>
            <groupId> org.springframework.cloud </groupId>
            <artifactId> spring-cloud-starter-netflix-hystrix </artifactId>
        </dependency>
        <dependency>
            <groupId> org.springframework.cloud </groupId>
            <artifactId> spring-cloud-starter-config </artifactId>
        </dependency>
        <!-- 日常标配 -->
        <dependency>
            <groupId> com.goolecloud.springcloud </groupId>
            <artifactId> serverspringcloud-api </artifactId>
            <version> ${project.version} </version>
        </dependency>
        <dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-starter-jetty </artifactId>
        </dependency>
        <dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-starter-web </artifactId>
        </dependency>
        <dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-starter-test </artifactId>
        </dependency>
        <dependency>
            <groupId> org.springframework.boot </groupId>
            <artifactId> spring-boot-devtools </artifactId>
        </dependency>
    </dependencies>
</project>



yml

server:
  port: 9527

spring:
  application:
    name: serverspringcloud-zuul-gateway

eureka:
  client:
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka
  instance:
    instance-id: gateway-9527.com
    prefer-ip-address: true


##actuator端口
management:
  #  server:
  #    port: 9001
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always

2.

hosts修改

127.0.0.1  myzuul.com

3.主启动类添加注解@EnableZuulProxy

启动三个eureka集群

一个服务提供类microservicecloud-provider-dept-8001,一个路由

4.测试

不用路由

http://localhost:8001/dept/get/2

启用路由

http://myzuul.com:9527/microservicecloud-dept/dept/get/2

http://myzuul.com:9527/servicecloud-dept/dept/get/2

2.路由访问映射规则

1.servicecloud-zuul-gateway-9527 yml 添加

zuul:
  routes:
    mydept.serviceId: serverspringcloud-dept
    mydept.path: /mydept/**

此时问题

路由访问OK

http://myzuul.com:9527/mydept/dept/get/1

原路径访问OK

http://myzuul.com:9527/servicecloud-dept/dept/get/1

2.原真实服务名忽略

zuul:
  routes:
    mydept.serviceId: serverspringcloud-dept
    mydept.path: /mydept/**
  ignored-services: '*'
  prefix: /goolecloud

  ignored-services: "*"  *表示多个服务名称忽略

3.设置统一公共前缀

YML

zuul:
  routes:
    mydept.serviceId: serverspringcloud-dept
    mydept.path: /mydept/**
  ignored-services: '*'
  prefix: /goolecloud

http://myzuul.com:9527/goolecloud/mydept/dept/get/1

全部的yml

server:
  port: 9527

spring:
  application:
    name: serverspringcloud-zuul-gateway

eureka:
  client:
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka
  instance:
    instance-id: gateway-9527.com
    prefer-ip-address: true

zuul:
  routes:
    mydept.serviceId: serverspringcloud-dept
    mydept.path: /mydept/**
  ignored-services: '*'
  prefix: /goolecloud
##actuator端口
management:
  #  server:
  #    port: 9001
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always

 最后近期期待SpringCloud Config分布式配置中心文章

1.SpringCloud Config服务端配置

2.SpringCloud Config客户端配置与测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值