接上文 SpringCloud-Hystrix 服务降级与熔断
微服务也是如此,不是所有微服务需要直接暴露给外部调用,就需要使用路由机制,添加一层防护,让所有的请求全部通过路由来转发到各个微服务,并转发给多个相同微服务实例,也可以实现负载均衡。
1.部署网关
新建模块
添加启动文件
启动
查看是否注册成功
对路由进行配置
访问之前的借阅信息
http://localhost:8500/borrow/1,相当于访问了http://borrow-service/borrow/1,其中localhost:8500相当于网关配置中的url:lb://borrow-service
2.路由过滤器
若希望请求到达时,在请求头中添加一些信息再转发给我们的服务,此时可以通过路由过滤器来完成,需要配置文件。
重启book-service,geteway
访问book-service出现过滤器配置的内容
2.1 自定义全局过滤器
全局过滤器能作用于全局,需要通过代码进行编写。
编写判断
重启getway,查看过滤效果
成功实现过滤效果
定义多个过滤器,并可手动指定过滤器之间的顺序。
这里写错了,第20行输出为 System.out.println(request.getHeaders().get("Test"));
重启geteway服务。全局过滤器order=0
全局过滤器order=1
全局过滤器order=2