SpringBoot整合Zuul微服务网关
微服务网关的优点
- 降低客户端复杂性
- 降低认证复杂性
- 避免跨域请求
- 易于监控
- 确保微服务系统可重构
- 减少客户端与微服务的交互次数
Zuul微服务网关
Zuul是Netflix开源的微服务网关,可以和Eureka、Ribbon、Hystrix等组件配合使用。
Zuul的核心是一系列过滤器,可以完成以下功能:
1、身份认证与安全:识别每个资源的验证要求,拒绝与要求不符的请求
2、审查与监控:在边缘位置追踪有意义的数据和统计结果,从而产生精确的生产视图
3、动态路由:动态地将请求路由到不同的后端集群
4、压力测试:逐渐增加指向集群的流量,从而了解性能
5、负载分配:为每种负载类型分配对应容量,弃用超出限定值的请求
6、静态响应处理:在边缘位置直接建立部分响应,从而避免其转发到内部集群
7、多区域弹性:跨越AWSRegion进行请求路由,以实现ELB(ElasticLoadBalancing),以及让系统的边缘更贴近系统的使用者
SpringBoot整合Zuul
- 创建一个微服务项目microservice-gateway-zuul。
- 添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud<