15. Zuul 服务网关

网关服务和Zuul

为什么需要网关服务
如果没网关,当前启动了十几个对外的微服务,那么客户端去调用只能是和各个服务一个一个打交道,这显然是不现实的。从运维角度说,当请求通过Nginx等设施的路由和负载均衡分配后,被转发到各个不同的服务实例上,而为了让这些设施能够正确路由与分发请求,运维需要手工维护这些路由规则与服务实例列表,大大增加了运维人员的工作量与出错率;从开发人员角度说,对外服务一般都有一些安全性的校验和权限校验机制,如果每个微服务写一套,那么一旦出现BUG,是需要修改每个微服务的,增加了开发和测试的工作量。

为了解决上面这些问题,API网关的概念应运而生,它的存在就像是整个微服务架构系统的门面,所有的外部客户端访问都需要经过它来进行调度和过滤.。

在这里插入图片描述
那么它是如何解决上面这两个普遍的问题呢?
首先,对于路由规则与服务实例的维护问题。Zuul通过Eureka进行整合,将自身注册到Eureka上面,从Eureka中获得了所有其他微服务的实例,这样设计可以将服务治理体系中维护的实例信息利用起来,使得维护服务实例的工作交给了服务治理框架自动完成不需要人工介入。而对于路由规则的维护,Zuul将会通过服务名作为ContextPath的方式来创建路由映射,大部分情况下这样的默认设置已经可以实现我们大部分的路由需求。

其次,对于类似签名校验、登陆校验在微服务架构中的冗余问题。Spring Cloud Zuul提供了一套过滤机制,可以很好的支持这样的任务。

服务网关的要素:
1.稳定性,高可用
2.性能,并发性
3.安全性
4.扩展性

常用的网关方案
1.Nginx+Lua
2.Kong
3.Tyk
4.Spring Cloud Zuul(如果用了Spring 又 用了Spring Cloud 那么用Zuul是很合适的)

Zuul的特点 路由+过滤器=Zuul 核心就是一系列过滤器

Zull的四种过滤器API 前置(Pre),路由(Route),后置(post),错误(Error)

Zull主件架构
在这里插入图片描述
一次请求进来,红色的为过滤器,Server为服务。首先进入的是"pre"filter这个是一个类型 下面还有过滤器可以在这一步对参数做一些操作过滤;然后是"route"filter(s)这个过滤器把请求发送到了服务端,服务端把结果返回;然后到"post"filter,如果报错了那么会进入"error filters";
在这里插入图片描述
完整架构图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值