微服务(七)-服务网关zuul(三)

简介: 微服务(七)-服务网关zuul(三)

自定义路由

首先提出一个疑问:比如说前端访问的时候必须要带某个参数过来,

比如必须要带某个token过来的话,不管放到头里也好,或者参数里也好。

否则认为这个访问就是违法的。

1、在网关中的过滤器类型filterType中总共有四种类型:①、pre(前置过滤器),②、post(后置过滤器),③、route(路由过滤器),④、error(错误过滤器)

1.1、既然做的是token的验证,是放到前置过滤器中的,代码如下:

1.2、在源代码FilterConstants这个类中有这四种类型的路由。  数字越小,优先级就越高。优先级一定要放置在最后一个前置路由器之前就可以了。官方推荐不是PRE_DECORATION_FILTER_ORDER把这个值改为多些,而是在这个值上进行加减法,一般做减法就行了。

1.3、减一代表在这个路由器之前执行,代码如下:

1.4、第三个方法:是否允许路由,去监控它true,代表一定要监控得

1.5、第四个方法 run:核心方法,思路如下:


①、我们需要从参数里面去拿到这个token得值,如果传了,就是合法得正常得请求得地址。

②、如果没传,就是不合法的请求

1.6、CookieUtil的代码如下:

1.7、交给Spring容器去管理。

1.8、然后把配置中心config启动起来,和服务网关启动,不带token的去访问:前置过滤器的成功了:只要没有token的访问都属于不正常的访问。

1.9、如果想通过话,加上cookie就可以了:

2、还有后置路由器:比如当它有结果返回出来时候,我想要在头里面加点头信息。然后给它做返回,那么我们如何去写呢?

2.1、当请求处理完,当响应结果之前过滤器就称之为后置过滤器。

比如在token验证以后将返回的结果响应头里面加点数据进去:比如加一个随机token值给它返回出去或者UUID值。这个过滤器是在发送请求响应到响应头里过滤器。

2.3、在源代码中,SEND_RESPONSE_FILTER_ORDER这个值是最大值,后置过滤器需要在它之前执行,所以减一。

2.4、重启下user-api-gateway:这个POST得意思只是后置得过滤器,不管什么类型得请求,这个请求头得信息都是有X-UUID得,这个和POST请求是没有关系的。

总结:在zuul中可以做很多的事情,特别在做鉴权上用的很多,权限校验,可以做一个token得判断,权限得校验也可以在zuul里面去写。

相关文章
|
5天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
3天前
|
负载均衡 监控 API
dotnet微服务之API网关Ocelot
Ocelot 是一个基于 .NET 的 API 网关,适用于微服务架构。本文介绍了如何创建一个 Web API 项目并使用 Ocelot 进行 API 请求路由、负载均衡等。通过配置 `ocelot.json` 和修改 `Program.cs`,实现对 `GoodApi` 和 `OrderApi` 两个项目的路由管理。最终,通过访问 `https://localhost:7122/good/Hello` 和 `https://localhost:7122/order/Hello` 验证配置成功。
13 1
dotnet微服务之API网关Ocelot
|
11天前
|
负载均衡 Java 应用服务中间件
Gateway服务网关
Gateway服务网关
24 1
Gateway服务网关
|
22天前
|
Kubernetes 负载均衡 Docker
构建高效后端服务:微服务架构的探索与实践
【10月更文挑战第20天】 在数字化时代,后端服务的构建对于任何在线业务的成功至关重要。本文将深入探讨微服务架构的概念、优势以及如何在实际项目中有效实施。我们将从微服务的基本理念出发,逐步解析其在提高系统可维护性、扩展性和敏捷性方面的作用。通过实际案例分析,揭示微服务架构在不同场景下的应用策略和最佳实践。无论你是后端开发新手还是经验丰富的工程师,本文都将为你提供宝贵的见解和实用的指导。
|
6天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 10 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
11天前
|
监控 安全 应用服务中间件
微服务架构下的API网关设计策略与实践####
本文深入探讨了在微服务架构下,API网关作为系统统一入口点的设计策略、实现细节及其在实际应用中的最佳实践。不同于传统的摘要概述,本部分将直接以一段精简的代码示例作为引子,展示一个基于NGINX的简单API网关配置片段,随后引出文章的核心内容,旨在通过具体实例激发读者兴趣,快速理解API网关在微服务架构中的关键作用及实现方式。 ```nginx server { listen 80; server_name api.example.com; location / { proxy_pass http://backend_service:5000;
|
13天前
|
缓存 监控 API
探索微服务架构中的API网关模式
随着微服务架构的兴起,API网关成为管理和服务间交互的关键组件。本文通过在线零售公司的案例,探讨了API网关在路由管理、认证授权、限流缓存、日志监控和协议转换等方面的优势,并详细介绍了使用Kong实现API网关的具体步骤。
34 3
|
13天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
探索微服务架构中的API网关模式
31 2
|
20天前
|
监控 API 持续交付
构建高效后端服务:微服务架构的深度探索
【10月更文挑战第20天】 在数字化时代,后端服务的构建对于支撑复杂的业务逻辑和海量数据处理至关重要。本文深入探讨了微服务架构的核心理念、实施策略以及面临的挑战,旨在为开发者提供一套构建高效、可扩展后端服务的方法论。通过案例分析,揭示微服务如何帮助企业应对快速变化的业务需求,同时保持系统的稳定性和灵活性。
46 9
|
8天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
41 6

热门文章

最新文章