SpringCloud--Zuul

∥☆過路亽.° 提交于 2020-02-26 00:46:31

Zuul

Zuul包含了对请求的路由过滤两个最主要的功能:其中路由功能负责将外部请求转发到具体的微服务实例上,
是实现外部访问统一入口的基础而过滤器功能,则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。
Zuul和Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获得其他微服务的消息,也即以后的访问微服务都是通过Zuul跳转后获得。

 注意:Zuul服务最终还是会注册进Eureka  官网

集成Zuul

1 添加pom依赖

     <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-eureka</artifactId>
   </dependency>
   <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-zuul</artifactId>
   </dependency>

2 application.yml配置

server: 
  port: 9527
 
spring: 
  application:
    name: microservicecloud-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 

info:
  app.name: atguigu-microcloud
  company.name: www.atguigu.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$

3 主启动类添加启动依赖 @EnableZuulProxy

@SpringBootApplication
@EnableZuulProxy
public class Zuul_9527_StartSpringCloudApp
{
  public static void main(String[] args)
  {
   SpringApplication.run(Zuul_9527_StartSpringCloudApp.class, args);
  }
}

4 通过zuul统一网关地址,访问微服务地址

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

5 Zull路由规则修改

zuul: 
  prefix: /mySite    --地址统一路径前缀
  ignored-services: "*"  --忽略服务实例前缀
  routes: 
    mydept.serviceId: microservicecloud-dept
    mydept.path: /mydept/**   --对服务实例路径做映射配置,隐藏真实服务实例

修改后即可访问此http://myzuul.com:9527/mySite/mydept/dept/get/2 ,以前暴露的服务地址均不可用。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!