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

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--------------------------------------------

 

 

 

 

 

你可能感兴趣的:(Java,springCloud)