SpringCloud学习(五):集成zuul实现路由规则管理及权限认证

1. 此篇文章简介

为了更好对调用的微服务进行路由管理或者权限认证,SpringCloud体系也提供了具体实现方式,通过集成zuul框架,就可以实现以上功能。

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


2. SpringCloud集成zuul实现服务降级的核心步骤简介

(1)创建注册中心的基础工程

(2)创建注册中心的启动类

(3)配置注册中心

(4)创建两个服务提供者步骤如下:

(4-1)创建服务提供者的基础工程

(4-2)配置服务提供者(4-3)创建提供者的rest服务(4-4)创建服务提供者的启动类

(5)创建集成zuul的消费者的基础工程

(6)配置zuul基础功能的路由规则

(7)创建权限认证的过滤器

(8)创建启动类,并加载实现的过滤器

3. 以上8步的详细解释:

(1)创建注册中心的基础工程

1)基于maven创建基础工程,命名为:springcloudeurekaserver

2)配置pom.xml

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


(2)创建注册中心的启动类

该启动类是作为微服务的注册中心来创建的,具体的代码如下:

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


(3)配置注册中心

在application.yml配置文件中配置注册中心的相关属性,具体如下:

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


核心参数解释如下:

1)该工程虽然是作为注册中心来启动的,但是如果不进行配置约束,它自身会作为客户端将自己注册到注册中心中,这其实是没必要的,控制的方法是,将如下两个参数配置为false:

registerWithEureka: false

fetchRegistry: false

(4)创建两个服务提供者步骤如下:

(4-1)创建服务提供者的基础工程

1)基于maven创建服务提供者的基础工程,两个工程分别命名为:

springcloudeurekaprovider springcloudeurekaprovider2

2)配置pom.xml,核心配置如下:

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


(4-2)配置服务提供者

在application.yml文件中配置服务提供者的相关参数:

工程springcloudeurekaprovider的配置参数:

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


工程springcloudeurekaprovider2的配置参数:

将其中的port改为8124即可

(4-3)配置服务提供者

创建一个简单的rest服务,供测试使用

工程springcloudeurekaprovider的控制器类:

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


基本和以上代码一直,就是将代码里边的ereka provider 1 改为ereka provider 2即可

(4-4)创建服务提供者的启动类

此启动类就是将该工程的提供的微服务注册到注册中心,供客户端调用。

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


(5)创建集成zuul的消费者的基础工程

1)基于maven创建基础工程,命名为:springcloudzuul

2)配置pom.xml

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


(6)配置zuul基础功能的路由规则

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


补充解释:zuul routes就是配置的路由规则,以上配置的意思就是:

第一种:/**意思是针对任何访问都去找服务名字是eurekaprovider的提供者

第二种:/test/**意思是针对路径以test开头的都去返回百度的官网。

(7)创建权限认证的过滤器

补充:ZuulFilter是zuul网关的核心组件,集成它之后便可以实现自定义的过滤器

以下自定义过滤器UserInfoFilter的作用是:

在执行路由规则前,对于访问微服务的请求中用户名是admin密码是123456的请求才认为具备方位具体微服务的权限。

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证


(8)创建启动类,并加载实现的过滤器

ZuulBootApplication:

SpringCloud学习(五):集成zuul实现路由规则管理及权限认证



分享到:


相關文章: