SpringCloud-使用Zuul反向代理微服务

本文介绍了如何在SpringCloud中使用Zuul进行反向代理,包括指定path+serviceId、path+url的方式,以及如何实现负载均衡。通过配置application.yml,Zuul可以将HTTP请求转发到特定服务,并利用Ribbon实现服务间的负载均衡。同时,讨论了Zuul路由的strip-prefix属性和order配置,strip-prefix用于去除路径前缀,order则影响路由执行顺序。
摘要由CSDN通过智能技术生成

1.除了用户之外,所有服务都被忽略。

application.yml. 

 zuul:
  ignoredServices: '*'
  routes:
    users: /myusers/**

2.Zuul指定path+serviceid

前面的示例意味着对/myusers的HTTP调用被转发到用户服务(例如/myusers/101被转发到/101)。

要获得对路由的更细粒度控制,可以单独指定路径和serviceId,如下:

application.yml. 

 zuul:
  routes:
    users:
      path: /myusers/**
      serviceId: users_service

3.Zuul指定path+url

前面的示例意味着对/myusers的HTTP调用被转发到users_service服务。路由必须有一个可以指定为ant样式模式的路径,因此/myusers/*只匹配一个级别,但是/myusers/**可匹配多级。

后端位置可以指定为serviceId(用于来自discovery的服务)或url(用于物理位置),如下例所示:

application.yml. 

 zuul:
  routes:
    users:
      path: /myusers/**
      url: http://example.com/users_service

4. Zuul指定Path+url以及指定可用的服务节点时如何负载均衡

Zuul网关   并用ribbon实现负载均衡,使用如下配置

zuul:
  routes:
    abc:
      path: /user-url/**
      service-id: microservice-provider-user
ribbon:
  eureka:
    enabled: false
microservice-provider-user:     # 这边是ribbon要请求的微服务的serviceId
  ribbon:
    listOfServers: http://localhost:7900,http://localhost:7901

浏览器测试地址:192.168.85.1:8040/user-url/simple/2   (即 Zuul配置地址/Zuul路由规则/所代理的微服务的接口地址)

5.  Zuul路由的strip-prefix与order

zuul设置全局的上下文路径,如下

zuul:
  prefix: /api
  strip-prefix: false

【strip 意思是:去掉】

------------------------------EOF--------------------------------------------

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值