SpringCloud的入门学习之概念理解、Zuul路由网关

1、Zuul路由网关是什么?

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

  注意:Zuul服务最终还是会注册进Eureka。Zuul提供了代理、路由、过滤三大功能。

2、新建模块Module,microservicecloud-zuul-gateway-9527,修改pom.xml配置文件,如下所示:

 1 "http://maven.apache.org/POM/4.0.0"
 2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
 4     http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     4.0.0
 6     
 7         com.bie.springcloud
 8         microservicecloud
 9         0.0.1-SNAPSHOT
10     
11     microservicecloud-zuul-gateway-9527
12 
13     
14         
15         
16             org.springframework.cloud
17             spring-cloud-starter-zuul
18         
19         
20             org.springframework.cloud
21             spring-cloud-starter-eureka
22         
23         
24         
25             org.springframework.boot
26             spring-boot-starter-actuator
27         
28         
29         
30             org.springframework.cloud
31             spring-cloud-starter-hystrix
32         
33         
34             org.springframework.cloud
35             spring-cloud-starter-config
36         
37         
38         
39             com.bie.springcloud
40             microservicecloud-api
41             ${project.version}
42         
43         
44             org.springframework.boot
45             spring-boot-starter-jetty
46         
47         
48             org.springframework.boot
49             spring-boot-starter-web
50         
51         
52             org.springframework.boot
53             spring-boot-starter-test
54         
55         
56         
57             org.springframework
58             springloaded
59         
60         
61             org.springframework.boot
62             spring-boot-devtools
63         
64     
65 
66 

修改模块microservicecloud-zuul-gateway-9527的application.yml配置文件,如下所示:

 1 server: 
 2   port: 9527  # 端口号
 3  
 4 spring: 
 5   application:
 6     name: microservicecloud-zuul-gateway  # 微服务的名称
 7  
 8 eureka: 
 9   client: # 客户端注册进eureka服务列表内 
10     service-url: 
11       # defaultZone: http://localhost:7001/eureka
12       defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka  
13   instance:
14     instance-id: gateway-9527.com # 将eureka-server注册中心的服务,显示你想看的名称
15     prefer-ip-address: true  # 访问路径可以显示IP地址     
16  
17  
18 info: # 微服务info内容显示详细信息
19   app.name: microservicecloud-zuul-gateway-9527 # 应用名称
20   company.name: www.baidu.com # 公司地址
21   build.artifactId: $project.artifactId$  # 构建项目artifactId
22   build.version: $project.version$ # 构建项目版本号

修改模块microservicecloud-zuul-gateway-9527的主启动类,如下所示:

 1 package com.bie;
 2 
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
 6 
 7 /**
 8  * 
 9  *
10  * @author biehl
11  *
12  */
13 @SpringBootApplication
14 @EnableZuulProxy // zuul服务网关相关的
15 public class MicroServiceCloudZuul9527Application {
16 
17     public static void main(String[] args) {
18         SpringApplication.run(MicroServiceCloudZuul9527Application.class, args);
19     }
20 
21 }

启动三个节点的Eureka Server注册中心,启动microservicecloud-provider-dept-8001服务提供者模块,启动你的microservicecloud-zuul-gateway-9527路由模块。开始进行测试如下所示:

启动路由访问如下所示:http://127.0.0.1:9527/microservicecloud-provider-dept/dept/get/1


2、Zuul路由访问映射规则。

 1 server: 
 2   port: 9527  # 端口号
 3  
 4 spring: 
 5   application:
 6     name: microservicecloud-zuul-gateway  # 微服务的名称
 7  
 8 eureka: 
 9   client: # 客户端注册进eureka服务列表内 
10     service-url: 
11       # defaultZone: http://localhost:7001/eureka
12       defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka  
13   instance:
14     instance-id: gateway-9527.com # 将eureka-server注册中心的服务,显示你想看的名称
15     prefer-ip-address: true  # 访问路径可以显示IP地址     
16 
17 
18 # Zuul路由访问映射规则。
19 zuul:
20   # prefix: /zuul # 设置统一公共前缀
21   # ignored-services: microservicecloud-provider-dept  # 忽略原真实服务名称。单个可以使用具体的名称,多个可以使用"*"进行忽略
22   ignored-services: "*"
23   routes:
24     mydept.serviceId: microservicecloud-provider-dept # 真实微服务应用名称
25     mydept.path: /mydept/**  # 使用mydept替代microservicecloud-provider-dept进行路由访问
26   prefix: /zuul
27  
28  
29 info: # 微服务info内容显示详细信息
30   app.name: microservicecloud-zuul-gateway-9527 # 应用名称
31   company.name: www.baidu.com # 公司地址
32   build.artifactId: $project.artifactId$  # 构建项目artifactId
33   build.version: $project.version$ # 构建项目版本号

效果如下所示:

 

 

作者:别先生

博客园:https://www.cnblogs.com/biehongli/

如果您想及时得到个人撰写文章以及著作的消息推送,可以扫描上方二维码,关注个人公众号哦。

 

你可能感兴趣的:(SpringCloud的入门学习之概念理解、Zuul路由网关)