springcloud服务网关Netflix Zuul入门简介

zuul是什么?

简介:类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。

作用:api网关,路由,负载均衡等多种作用

Spring Cloud Zuul 主要的功能是提供负载均衡、反向代理、权限认证、动态路由、监控、弹性、安全等的边缘服务。其主要作用是为微服务架构提供了前门保护的作用,同时将权限控制这些较重的非业务逻辑内容迁移到服务路由层面,使得服务集群主体能够具备更高的可复用性和可测试性。

1.路由功能是微服务的一部分,比如将 API-A转发到service-hi服务,zuul默认和Ribbon结合 实现了负载均衡的功能。
2.zuul不仅只是路由,并且还能过滤,做一些安全验证

在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。

通俗一点来说,就是对服务提供一层保护,对外界的请求进行过滤转发到后端服务中。
这里我们可以通过几张简单的示例图来进行了解.。

不使用路由网关的示例图:

使用路由网关的示例图:

使用路由网关并且加上注册中心的示例图:

从上述的示例图中,我们发现加了路由网关之后,实际上是将一对多的关系转变成了一对一的关系,这样的好处是我们可以在网关层进行数据合法校验、权限认证、负载均衡等统一处理,这样可以在很大的程度上节省的人力和物力,但是这种方式也有一定的弊端,就是以后新增了服务或者在服务中新增方法,就会使得网关层可能需要进行改动。幸好在Spring Cloud 有 Zuul 这样一个组件,通过eureka将网关和微服务之间相互关联起来,都会在eureka上进行注册,这样Zuul就能感知到哪些服务在线,并且可以通过配置路由规则将请求自动转发到指定的后端微服务上,这样即使后续新增了服务或者在服务中新增了某些方法,那么只需在Zuul层进行简单配置即可。

发布了245 篇原创文章 · 获赞 95 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/ywl470812087/article/details/104423453