1. 此篇文章简介
为了更好对调用的微服务进行路由管理或者权限认证,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
(2)创建注册中心的启动类
该启动类是作为微服务的注册中心来创建的,具体的代码如下:
(3)配置注册中心
在application.yml配置文件中配置注册中心的相关属性,具体如下:
核心参数解释如下:
1)该工程虽然是作为注册中心来启动的,但是如果不进行配置约束,它自身会作为客户端将自己注册到注册中心中,这其实是没必要的,控制的方法是,将如下两个参数配置为false:
registerWithEureka: false
fetchRegistry: false
(4)创建两个服务提供者步骤如下:
(4-1)创建服务提供者的基础工程
1)基于maven创建服务提供者的基础工程,两个工程分别命名为:
springcloudeurekaprovider springcloudeurekaprovider2
2)配置pom.xml,核心配置如下:
(4-2)配置服务提供者
在application.yml文件中配置服务提供者的相关参数:
工程springcloudeurekaprovider的配置参数:
工程springcloudeurekaprovider2的配置参数:
将其中的port改为8124即可
(4-3)配置服务提供者
创建一个简单的rest服务,供测试使用
工程springcloudeurekaprovider的控制器类:
基本和以上代码一直,就是将代码里边的ereka provider 1 改为ereka provider 2即可
(4-4)创建服务提供者的启动类
此启动类就是将该工程的提供的微服务注册到注册中心,供客户端调用。
(5)创建集成zuul的消费者的基础工程
1)基于maven创建基础工程,命名为:springcloudzuul
2)配置pom.xml
(6)配置zuul基础功能的路由规则
补充解释:zuul routes就是配置的路由规则,以上配置的意思就是:
第一种:/**意思是针对任何访问都去找服务名字是eurekaprovider的提供者
第二种:/test/**意思是针对路径以test开头的都去返回百度的官网。
(7)创建权限认证的过滤器
补充:ZuulFilter是zuul网关的核心组件,集成它之后便可以实现自定义的过滤器
以下自定义过滤器UserInfoFilter的作用是:
在执行路由规则前,对于访问微服务的请求中用户名是admin密码是123456的请求才认为具备方位具体微服务的权限。
(8)创建启动类,并加载实现的过滤器
ZuulBootApplication:
閱讀更多 牛旦教育IT課堂 的文章