iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring Cloud Zuul服务网关的示例分析
  • 260
分享到

Spring Cloud Zuul服务网关的示例分析

springcloudzuul 2023-05-30 17:05:00 260人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关spring cloud Zuul服务网关的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。有了Eureka服务注册发现、Hystrix断路器、Ribbon服务调用负载均

这篇文章将为大家详细讲解有关spring cloud Zuul服务网关的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

有了Eureka服务注册发现、Hystrix断路器、Ribbon服务调用负载均衡,以及spring cloud config 集群配置中心,似乎一个微服务框架已五脏俱全,last but not least,一个服务网关却不可或缺。

Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。

Zuul介绍

Spring Cloud Zuul服务网关的示例分析

在整个Spring Cloud微服务框架里,Zuul扮演着”智能网关“的角色。一方面,Zuul是接入网关,起到反向代理的作用,是外部消费者请求内部服务的唯一入口。另一方面,Zuul也具备过滤功能,通过在运行时注入过滤规则可实现用户鉴权、动态路由、灰度发布、A/B测试、负载限流等功能。

Zuul的大部分功能都是通过过滤功能来完成的,Zuul可以提供四种标准类型的过滤,如下图所示:

Spring Cloud Zuul服务网关的示例分析

1) Pre: 过滤规则在路由之前起作用。可以利用“Pre”过滤器实现用户鉴权,记录请求日志等;

2) Routing:过滤规则在路由时发生作用。可以利用“Routing”过滤器实现动态路由、灰度发布、A/B测试、负载限流等。

3) Post:过滤规则在路由之后发生作用。可以利用"Post"过滤器收集统计信息和指标,将微服务的相应写入Http响应并返回给服务消费者;

4) Error:过滤规则路由过程中发生错误时发生作用。可以利用Error过滤器记录错误日志,并对错误进行二次处理等。

在过滤器之间用RequestContext传递消息。RequestContext存储的内容包括路由目标地址、错误信息、请求信息、响应信息等。Zuul的过滤规则也可以用基于JVM的语言编写,包括Java、python、Groovy等。

一、Zuul 实例

在上篇demo创建好注册中心、服务提供方的基础之上,再来演示一下zuul网关服务

创建网关类 

@EnableZuulProxy @SpringCloudApplication  //整合@SpringBootApplication、@EnableDiscoveryClient、@EnableCircuitBreaker public class ZuulApplication {    public static void main(String[] args) {     new SpringApplicationBuilder(ZuulApplication.class).WEB(true).run(args);   } }

添加properties配置文件

spring.application.name=api-gateway server.port=5555  zuul.routes.api-a.path=/api-a/** zuul.routes.api-a.serviceId=compute-service  zuul.routes.api-b.path=/api-b/** zuul.routes.api-b.serviceId=compute-service  eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

同样也指向eureka服务注册中心地址,api-a.serviceId,b-serviceId 指向服务提供者名称

访问效果

原来直接通过http://COMPUTE-SERVICE/add?a=10&b=20链接直接访问compute-service服务实例,现在则可直接localhost:5555/api-a/add?a=1&b=2网关地址访问compute-service服务。同样zuul网关也提供服务负载均衡功能,将请求均发到service服务实例。

Spring Cloud Zuul服务网关的示例分析

二、什么是网关?为何需要使用网关?

通过上图,对外提供的服务,在无网关的情况下,API接口直接暴露给服务调用方,当调用方增多,不同业务调用方各不相同,势必需要添加定制化访问权限、校验等逻辑。当添加API网关后,再第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端,正如无需直接访问compute-service的add方法,而是通过api-a/add链接将请求传递给service实例。Zuul就是提供负载均衡-反向代理-权限认证的这么一个API gateway。

类似于Nginx在应用服务最前端添加一堵保护墙,zuul的负载均衡是针对将请求分发给集群中某台服务或者某个服务实例。而前面介绍过的ribbon也是主打服务负载功能,它所针对的是服务消费者将调用请求分发到某具体服务提供实例。两者均做负载均衡,实际是在系统不同的层级上进行。

关于“Spring Cloud Zuul服务网关的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Spring Cloud Zuul服务网关的示例分析

本文链接: https://www.lsjlt.com/news/220125.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring Cloud Zuul服务网关的示例分析
    这篇文章将为大家详细讲解有关Spring Cloud Zuul服务网关的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。有了Eureka服务注册发现、Hystrix断路器、Ribbon服务调用负载均...
    99+
    2023-05-30
    spring cloud zuul
  • 服务网关Spring Cloud Zuul的示例分析
    这篇文章主要为大家展示了“服务网关Spring Cloud Zuul的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“服务网关Spring Cloud&nbs...
    99+
    2023-06-29
  • Spring Cloud中服务网关Zuul的示例分析
    这篇文章主要介绍Spring Cloud中服务网关Zuul的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在微服务架构中,需要几个关键的组件,服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,...
    99+
    2023-06-19
  • Spring Cloud中API网关服务Zuul的示例分析
    这篇文章主要为大家展示了“Spring Cloud中API网关服务Zuul的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring Cloud中API网关服务Zuul的示例分析”这篇...
    99+
    2023-05-30
    spring cloud zuul
  • Spring Cloud中Zuul重试机制的示例分析
    小编给大家分享一下Spring Cloud中Zuul重试机制的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下:开启Zuul功能通过源码了解Zu...
    99+
    2023-05-30
    springcloud zuul
  • Spring Cloud Zuul中路由配置的示例分析
    这篇文章将为大家详细讲解有关Spring Cloud Zuul中路由配置的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先我们来回忆一下配置路由规则的那两行代码:zuul.routes.api-...
    99+
    2023-05-30
    spring cloud zuul
  • Spring Cloud中的API网关服务Zuul怎么配置
    这篇文章主要讲解了“Spring Cloud中的API网关服务Zuul怎么配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring Cloud中的API网关服务Zuul怎么配置”吧!构...
    99+
    2023-06-19
  • spring cloud微服务分布式云架构Spring Cloud Zuul
    Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求: 三五三六二四七二五九POM依赖<dependencies>      &n...
    99+
    2023-06-05
  • Spring Cloud Config的示例分析
    这篇文章将为大家详细讲解有关Spring Cloud Config的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在我们了解spring cloud config之前,我可以想想一个配置中心提供的...
    99+
    2023-06-05
  • Spring Cloud Bus消息的示例分析
    这篇文章将为大家详细讲解有关Spring Cloud Bus消息的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。概念我们使用配置中心时,当配置中心的配置发生了变化,我们就要发送一个post请求给客...
    99+
    2023-06-25
  • Spring-cloud之sleuth服务链路跟踪的示例分析
    这篇文章主要介绍了Spring-cloud之sleuth服务链路跟踪的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、简介Add sleuth to the cla...
    99+
    2023-05-30
  • Spring Cloud中服务注册与发现Eureka的示例分析
    这篇文章将为大家详细讲解有关Spring Cloud中服务注册与发现Eureka的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、spring cloud简介spring cloud 为开发人员...
    99+
    2023-06-19
  • Spring Cloud中各组件超时的示例分析
    这篇文章给大家分享的是有关Spring Cloud中各组件超时的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Ribbon的超时全局设置:ribbon:ReadTimeout: 60000Con...
    99+
    2023-05-30
    springcloud
  • Spring的示例分析
    这篇文章将为大家详细讲解有关Spring的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。WHY在诞生之初,创建Spring的主要目的是用来替代更加重量级的企业级Java技术,尤其是EJB。相对于E...
    99+
    2023-05-30
    spring
  • Spring AOP的示例分析
    这篇文章主要为大家展示了“Spring AOP的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring AOP的示例分析”这篇文章吧。Spring中对AOP的支持Spring中AOP...
    99+
    2023-05-30
    spring aop
  • Spring Cloud重试机制与各组件重试的示例分析
    这篇文章将为大家详细讲解有关Spring Cloud重试机制与各组件重试的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SpringCloud重试机制配置首先声明一点,这里的重试并不是报错以后的重...
    99+
    2023-05-30
    springcloud
  • Spring Cloud Gateway自定义异常处理Exception Handler的示例分析
    这篇文章给大家分享的是有关Spring Cloud Gateway自定义异常处理Exception Handler的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方法1: ErrorWebExceptio...
    99+
    2023-06-20
  • Spring Cloud Gateway - 新一代微服务API网关
    Spring Cloud Gateway - 新一代微服务API网关 文章目录 Spring Cloud Gateway - 新一代微服务API网关1.网关介绍2.Spring Cloud G...
    99+
    2023-09-21
    微服务 架构 云原生 java 网关 spring cloud gateway
  • Spring事务失效的示例分析
    这篇文章给大家分享的是有关Spring事务失效的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Spring事务最终依赖的数据库的事务,如果用的是mysql的话,执行引擎要是innodb;因为只有innoD...
    99+
    2023-06-29
  • 初始Spring的示例分析
    小编给大家分享一下初始Spring的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为什么要使用SpringWhy SpringSpring makes p...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作