请选择 进入手机版 | 继续访问电脑版

[其它综合] 深入分析 网关gateway原理

[复制链接]
查看90 | 回复18 | 2021-9-12 17:10:38 | 显示全部楼层 |阅读模式
目次

一 背景

微服务架构提供一种简单有用 的同一 的 API入口

负责服务哀求 路由、组合及协议转换,并且基于 Filter 链的方式提供了权限认证,监控、限流等功能。

  • 长处 :

性能强劲:是第一代网关Zuul的1.6倍。

功能强大 :内置了很多实用的功能,比方 转发、监控、限流等计划 优雅,容易 扩展。

  • 缺点:

依靠 Netty与WebFlux(Spring5.0),不是传统的Servlet编程模子 (Spring MVC就是基于此模子 实现),学习成本高。必要 Spring Boot 2.0及以上的版本,才支持

二必要 的依靠 :

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-gateway</artifactId>
  4. </dependency>
复制代码

   添加设置 文件及阐明 :

  1. server:
  2. port: 9000
  3. spring:
  4. application:
  5. name: sca-gateway
  6. cloud:
  7. gateway:
  8. routes: #配置网关路由规则
  9. - id: route01  #路由id,自己指定一个唯一值即可
  10. uri: http://localhost:8081/ #网关帮我们转发的url
  11. predicates: ###断言(谓此):匹配请求规则
  12. - Path=/nacos/provider/echo/**  #请求路径定义,此路径对应uri中的资源
  13. filters: ##网关过滤器,用于对谓词中的内容进行判断分析以及处理
  14. - StripPrefix=1 #转发之前去掉path中第一层路径,例如nacos
  15.  
复制代码

阐明

路由(Route) 是 gateway 中最基本的组件之一

表示一个具体 的路由信息载体。

紧张 定义了下面的几个信息:

  1. id
复制代码
,路由标识符,区别于其他 Route。

  1. uri
复制代码
,路由指向的目标 地 uri,即客户端哀求 终极 被转发到的微服务。

  1. predicate
复制代码
,断言(谓词)的作用是举行 条件判定 ,只有断言都返回真,才会实行 路由。

  1. filter
复制代码
,过滤器用于修改哀求 和相应 信息。

什么是网关?

服务访问(流量)的一个入口,类似 生存 中的“海关“

为什么利用 网关?

服务安全,同一 服务入口管理,负载平衡 ,限流,鉴权

Spring Cloud Gateway 应用的初始构建过程(添加依靠 ,设置

Gateway 服务的启动底层是通过谁去实现的?

Netty网络编程框架-ServerSocket

Gateway 服务做哀求 转发时肯定 要在注册中央 举行 注册吗?

不肯定 ,可以直接通过远端url举行 服务访问

三  负载平衡

必要 的porm文件是nacos的设置 和包,是通过nacos设置 中央 ,探求 实例。

网关层面是怎样 实现负载平衡 的?

通过服务名去查找具体 的服务实例

网关层面是怎样 通过服务名查找服务实例的?

Ribbon

你相识 Ribbon中的哪些负载平衡 算法?

轮询,权重,hash,……可通过IRule接口举行 查看分析

网关举行 哀求 转发的流程是怎样,有哪些关键对象?

XxxHandlerMapping,Handler,。。。

网关层面服务的映射方式怎样的?

谓词-path,…,服务名/服务实例

网关层怎样 记录服务的映射?

通过map,并要思量 读写锁的应用

下图是定义在网关层面定义全局过滤器

深入分析
网关gateway原理

网关(Gateway)

诞生的背景?

第一:同一 微服务访问的入口,

第二:对体系 服务举行 保护,

第三举行 同一 的认证,授权,限流

网关的选型?

Netifix Zuul,Spring Cloud Gateway,…

Spring Cloud Gateway的入门实现

添加依靠 ,路由设置 ,启动类

Spring Cloud Gateway中的负载平衡 ?

网关服务注册,服务的发现,基于uri:lb://服务id方式访问具体 服务实例

Spring Cloud Gateway中的断言设置 ?

把握 常用几个就可,用时可以通过搜刮 引擎去查

Spring Cloud Gateway中的过滤器设置 ?

把握 过滤器中的两大范例 -局部和全局

Spring Cloud Gateway中的限流计划 ?

Sentinel

Gateway在互联网架构中的位置?

nginx->gateway–>微服务–>微服务

Gateway底层负载平衡 的实现?

Ribbon

Gateway应用过程中计划 的紧张 概念?

路由id,路由uri,断言,过滤器

Gateway中你做过哪些断言设置 ?

after,header,path,cookie,…

Gateway中你用的过滤器有哪些?

添加前缀,去掉前缀,添加哀求 头,…,负载平衡 ,…

以上就是深入明确 网关gateway的具体 内容,更多关于网关gateway的资料请关注脚本之家别的 相干 文章!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 安静的小女子 | 2021-9-12 20:45:30 | 显示全部楼层
admin楼主该去看心理医生了!
回复

使用道具 举报

avatar dgx3529361 | 2021-9-19 05:44:20 | 显示全部楼层
很有看点!
回复

使用道具 举报

avatar 知足常乐77 | 2021-9-19 23:35:40 | 显示全部楼层
读了admin楼主的帖子,顿时马桶就通了。。。
回复

使用道具 举报

avatar 123457730 | 2021-9-20 00:09:07 | 显示全部楼层
论坛人气好旺!
回复

使用道具 举报

avatar 狒狒V | 2021-9-20 00:09:10 | 显示全部楼层
今天的心情很不错啊
回复

使用道具 举报

avatar 想不到918 | 2021-9-26 23:29:50 | 显示全部楼层
楼上的心情不错啊!
回复

使用道具 举报

avatar 穿雨捶 | 2021-10-9 01:48:01 | 显示全部楼层
有节操!
回复

使用道具 举报

avatar 囘憶若曦囘t | 2021-10-11 11:34:43 | 显示全部楼层
世界末日我都挺过去了,看到admin楼主我才知道为什么上帝留我到现在!
回复

使用道具 举报

avatar 浪子孤女 | 2021-10-13 06:00:22 | 显示全部楼层
admin楼主发几张靓照啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则