资讯专栏INFORMATION COLUMN

浅聊SpringCloud的网关

SKYZACK / 800人阅读

摘要:客户端对微服务的依赖直接使重构服务变得困难。一种直观的方法是将这些服务隐藏在一个新的服务层后面,并提供针对每个客户端的。这个聚合器服务层也称为网关,它是解决这个问题的一种常见方法。

本博客 猫叔的博客,转载请申明出处

阅读本文约 “4分钟”

适读人群:Java初级

为什么要设计网关?

上网搜罗了一下,觉得别人说的挺好,就引用了一下,在使用微服务的时候,不同的功能业务会集成一个服务群,而网关是基于服务群上的一个服务层,也是多带带暴露给客户端的APIs。

客户端对微服务的依赖直接使重构服务变得困难。一种直观的方法是将这些服务隐藏在一个新的服务层后面,并提供针对每个客户端的APIs。

这个聚合器服务层也称为API网关,它是解决这个问题的一种常见方法。

引用下图,原文出处。

SpringCloud的网关 zuul1.X(阻塞)

架构:

通过servlet做处理,并通过多个Groovy Filter做链过滤请求

现状:

目前比较少,但是对于实时业务还是可以稳定使用

应用场景:

简单业务,逻辑简单,实时业务,cpu型业务

使用方式:

引入maven包,使用注解的形式,可以在配置文件配置

zuul2.X(非阻塞)

架构:

2.0引入了Netty服务,实现非阻塞与高并发的处理能力

现状:

官方停止维护,非阻塞

应用场景:

大数据、队列类型、高并发、io型业务

使用方式:

引入maven包,使用注解的形式,可以在配置文件配置

Gateway(非阻塞)

架构:

与zuul2.0一致,不上图

现状:

SpringCloud官方维护,因为zuul2.X停止维护,所以基于2.X的同架构版本

应用场景:

大数据、队列类型、高并发、io型业务

使用方式:

引入maven包,路由注解(route-》path-》filters-》uri)或者以配置的形式

公众号:Java猫说

学习交流群:728698035

现架构设计(码农)兼创业技术顾问,不羁平庸,热爱开源,杂谈程序人生与不定期干货。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75519.html

相关文章

  • SpringCloud组件: GateWay整合Eureka转发服务请求

    摘要:单服务我们简单编写一个请求地址,输出字符串信息,添加依赖如下所示配置文件如下所示服务名注册到服务端口号配置该服务的服务名称为,这里对应的。 在上一篇文章Spring Cloud GateWay 路由转发规则介绍中我们讲解了SpringCloud Gateway内部提供的断言、谓语,让我们可以组合更精确的业务场景进行请求,既然SpringCloud GateWay担任了网关的角色,在之前...

    warmcheng 评论0 收藏0
  • SpringCloud(第 022 篇)Zuul 网关微服务regexmapper属性测试, 类似

    摘要:地址可以查看该微服务网关代理了多少微服务的。微服务已启动使用提供和之间的绑定它使用正则表达式组来从提取变量然后注入到路由表达式中。 SpringCloud(第 022 篇)Zuul 网关微服务的 regexmapper 属性测试, 类似测试 zuul 的自定义路径规则一样 - 一、大致介绍 1、本章节将 Zuul 的 regexmapper 属性单独拿出来,主要是这种配置规则,可以在一...

    cyqian 评论0 收藏0
  • SpringCloud(第 020 篇)Zuul 网关模块添加 listOfServers 属性,达

    摘要:注意注解能注册到服务上,是因为该注解包含了客户端的注解,该是一个复合注解。地址可以查看该微服务网关代理了多少微服务的。 SpringCloud(第 020 篇)Zuul 网关模块添加 listOfServers 属性,达到客户端负载均衡的能力 - 一、大致介绍 1、本章节添加另外一个属性 listOfServers 来给 zuul 赋上异样的功能色彩,提供负载均衡的能力; 2、而其实说...

    Dogee 评论0 收藏0
  • springCloud Finchley 微服务架构从入门到精通【十二】整合Redis实现Sessi

    摘要:架构师群社区群需加微信拉您进入微信公众号架构师修行本公众号将要使用一年的时间,按照高级软件架构师实战培训的路线发布一期完整的架构文章,难度由浅入深,适合有一定开发基础想转架构和正在做初级架构开发的人员学习,欢迎关注 在springcloud微服务项目中,使用redis实现session共享是比较主流的,简单高效,直接代码实践: 1、在pom.xml中添加相关依赖 ...

    UCloud 评论0 收藏0
  • SpringCloud升级之路2020.0.x版-41. SpringCloudGateway 基本

    摘要:将请求封装成将请求封装成的接口定义是但是最外层传进来的参数是和,需要将他们封装成,这个工作就是在中做的。其实主要任务就是将各种参数封装成除了和本次请求相关的和,还有会话管理器,编码解码器配置,国际化配置还有用于扩展。本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent接下来,将进入我们升级之路的又一大模块,即网关模块。网关模块我们废弃了...

    不知名网友 评论0 收藏0

发表评论

0条评论

SKYZACK

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<