SpringCloud五大组件之服务路由网关-Zuul
2022/2/3 23:13:29
本文主要是介绍SpringCloud五大组件之服务路由网关-Zuul,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Zuul定义:
Zuul 是Netflix开源的一个API Gateway 服务器, 本质上是一个web servlet(filter)应用。Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门入口,并且也要注册入Eureka。
为什么需要Zuul:
微服务架构体系中,通常一个业务系统会有很多的微服务,为了让调用更简单,一般会在这些服务前端再封装一层,前面这一层俗称为“网关层”,其存在意义在于,将"1对N"问题 转换成了"1对1”问题(路由),同时在请求到达真正的微服务之前,可以做一些预处理(过滤),比如:来源合法性检测,权限校验,反爬虫之类...。
基本配置:
1.创建一个名为zuul-gateway的子模块
2.导入maven依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-zuul</artifactId> </dependency>
3.yml配置
server: port: 1010 spring: application: name: zuul-gateway eureka: client: service-url: defaultZone: defaultZone: http://eureka1.com:1010/eureka,http://eureka2.com:1020/eureka,http://eureka3.com:1030/eureka instance: instance-id: zuul:1010 prefer-ip-address: false
4.主启动类打上相关注解
@SpringBootApplication @EnableEurekaClient @EnableZuulProxy public class ZuulGatewayApp { public static void main(String[] args) { SpringApplication.run(ZuulGatewayApp.class,args); } }
5.路由访问映射规则
安全加固:不用服务名,映射路径
忽略原来服务名访问:原来模式不可以访问
加上统一前缀
zuul: routes: user.serviceId: chunwai # 服务名 user.path: /user/** # 把user打头的所有请求都转发给chunwai ignored-services: "*" #所有服务都不允许以服务名来访问 prefix: "/api" #加一个统一前缀
这篇关于SpringCloud五大组件之服务路由网关-Zuul的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14后台交互资料入门指南
- 2024-11-14如何轻松创建项目环境:新手入门教程
- 2024-11-14如何抽离公共代码:初级开发者指南
- 2024-11-14Python编程入门指南
- 2024-11-14Python编程入门:如何获取参数
- 2024-11-14JWT 用户校验:简单教程与实践
- 2024-11-14Pre-commit 自动化测试入门指南
- 2024-11-14Python编程基础
- 2024-11-14Server Action入门教程:轻松掌握服务器操作
- 2024-11-14Server Component入门教程:轻松搭建服务器组件