Spring Cloud核心组件(五):Zuul

一. Zuul是什么?
在这里插入图片描述

二. Zuul路由基本配置
(1)修改hosts文件,添加如下映射:
127.0.0.1 myzuul.com

(2) 新建Gateway工程

server: 
  port: 9527
 
spring: 
  application:
    name: microservice-zuul-gateway
 
eureka: 
  client: 
    service-url: 
      defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
  instance:
    instance-id: gateway-9527.com
    prefer-ip-address: true 
@SpringBootApplication
@EnableZuulProxy
public class Application_Gateway_9527
{
    public static void main( String[] args )
    {
        SpringApplication.run(Application_Gateway_9527.class, args);
    }
}

(3) 启动Eureka集群,服务提供方,Gateway服务
不使用路由直接访问服务提供方:http://localhost:8001/product/get/1
通过网关路由访问服务提供方:http://myzuul.com:9527/microservice-product/product/get/2

三. Zuul路由访问映射规则
(1)给真实服务设置代理名称
在生产环境中,我们不想暴露真实的服务名称让外界知道,那么可以通过Zuul的访问映射设置代理名称。

zuul:
  routes:
    myproduct.serviceId: microservicecloud-dept
    myproduct.path: /myproduct/**

此时我们可以如下访问:
http://myzuul.com:9527/myproduct/product/get/2

(2) 上面的配置后,还是可以通过真实服务名称访问
http://myzuul.com:9527/microservice-product/product/get/2,
如果想禁止真实服务名称访问,需要加上ignored-services属性配置:

zuul:
  ignored-services: microservice-product
  routes:
    myproduct.serviceId: microservice-product
    myproduct.path: /myproduct/**

如果想对所有的服务都禁止真实服务名称访问,则修改如下:

zuul:
  #ignored-services: microservice-product
  ignored-services: "*"
  routes:
    myproduct.serviceId: microservice-product
    myproduct.path: /myproduct/**

(3) 设置统一公共前缀

zuul:
  #ignored-services: microservice-product
  ignored-services: "*"
  prefix: /hong
  routes:
    myproduct.serviceId: microservice-product
    myproduct.path: /myproduct/**

此时只有如下访问有效:
http://myzuul.com:9527/hong/myproduct/product/get/2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值