Zull网关
简介
官网:https://github.com/Netflix/zuul/
Zuul:维基百科:
电影《捉鬼敢死队》中的怪兽,Zuul,在纽约引发了巨大骚乱。
事实上,在微服务架构中,Zuul就是守门的大Boss!一夫当关,万夫莫开!
Zull加入后的框架
- 不管是来自于客户端(PC或移动端)的请求,还是服务内部调用。一切对服务的请求都会经过Zuul这个网关,然后再由网关来实现 鉴权、动态路由等等操作。Zuul就是我们服务的统一入口。
快速入门--路由转发
新建工程
创建项目:cloud-zuul-1007
添加坐标
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> </dependencies>
编写启动类
通过@EnableZuulProxy注解开启Zuul的功能:
package com.czxy; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @SpringBootApplication @EnableZuulProxy public class ZuulApplication { public static void main(String[] args) { SpringApplication.run(ZuulApplication.class,args); } }
编写配置
# 服务端口号 server: port: 10010 # 服务名 spring: application: name: zuul
编写路由规则
我们需要用Zuul来代理classes-service服务,先看一下控制面板中的服务状态:
- ip为:127.0.0.1
- 端口为:9010
映射规则:
zuul: routes: service: path: /service/** url: http://localhost:9010
zuul.routes.服务名.path= /前缀/**
zull.routers.服务名.url= 路径
我们将符合path 规则的一切请求,都代理到 url参数指定的地址
启动测试
访问的路径中需要加上配置规则的映射路径,我们访问:
http://localhost:10010/service/classes