一篇让你彻底理解网关是什么的文章

简介: 一篇让你彻底理解网关是什么的文章

前言

沉寂了一个周末,去思考自己的职业规划,想了很多。总起来说,还是努力,坚持自己的那份本心。希望大家也能够坚持本心,砥砺前行。

近来,在想着重构一个新的产品。准备采用微服务的技术解决方案,来搭建基础设施框架。网关,是一个必不可少的组件。那么,网关到底是什么?

其又有什么特点或者特性,成为微服务必不可少的组件呢?今天,我们就来探讨下这个问题。希望通过本文,大家能够明白,为何用。


演变过程

传统的单体技术架构,所有的内容,被打包进一个包内。为了保证,系统的稳定、安全,需要开发一些过滤器、拦截器,来实现对客户端请求的过滤与拦截,以及完成最终请求的转发。如下图所示

image.png

微服务技术解决方案下,同样需要为每个服务开发过滤器、拦截器来进行请求管理。但由于服务数量众多,同时,客户端形式多样化,如果在每个服务身上开发,将会造成很大的代码冗余与开发负担。因此,期待,将相同的一些功能,抽取到一个服务内实现,这便成为了一个组件,就是现在的网关。

网关存在的原因:

  • 解决微服务技术架构下,请求管理功能
  • 解决微服务技术架构下,多客户端的适配,采用单一入口,完成协议适配


网关的基本功能

image.png

微服务技术解决方案下的,网关,至少需要具备图示基本功能。

  1. 网关作为单点入口,完成统一的请求管理
  2. 免去客户端直接对接众多微服务的复杂性,采用单点入口,实现路由转发,从而实现服务调用
  3. 服务对于整个系统来讲,是不稳定的,那么网关,需要进行限流熔断,保持系统的稳定与分区容错性
  4. 对于服务调用的链路,网关有职责进行记录,日志监控,保证整个系统,在监控下工作
  5. 系统可能不仅仅是由自有客户端调用,很多时候,系统开放能力API给外部,因此网关需要安全认证,来保证安全


网关的高级应用

蓝绿部署

image.png

红绿部署,将新旧版本并存发布,为了解决发布时间问题。将流量导向新版本,如果生产没有问题,则去除老版本,如果有问题,快速切换到老版本。

采用网关,可以简易实现蓝绿部署。

开发者测试分支

image.png

开发者对于生产,有些时候需要进行一定的测试。因此采用网关,可以实现,流量导向,路由转发到测试分支内,完成测试。

埋点测试

image.png

埋点测试,用来进行特殊业务需求或者技术需求下的测试。提前埋好点,可以按照埋点,检查整个调用链路情况。采用网关,快速实现流量导向。路由转发至需要埋点的服务集群。

压力测试

image.png

使用集群中一个或一组服务作为压力测试服务。那么必然还是使用到网关的流量导向、路由转发功能

调试路由

image.png

生产上,不方便测试的,可以采用网关,进行导向测试路由。

金丝雀测试

image.png

金丝雀测试,用于测试流量的可行性。类似于蓝绿部署。

粘性金丝雀测试

image.png

有些场景下,是需要客户端进入同样的服务内。粘性金丝雀,就是将客户流量粘住,保证流量导向单一。

失败注入测试

image.png

人为的测试系统的安全与稳定,需要进行失败注入。那么采用网关,即可实现流量的导向。

降级测试

服务具有不稳定性,因此微服务中,常见系统测试涵盖了降级测试这个方面。网关很image.png的可以承担起该职责。

防爬防攻击

image.png

网关作为请求的入口,自然可以承担起流量的管控。

健康检查与坏点检测

image.png

网关同样会作为服务注册到服务发现注册中心,因此,可以作为健康检查与坏点检测的工具,采用自动断开等手段,保证系统的稳定与及时通知。

跨区高可用

网关部署集群、跨区,可以实现,地域流量导向。

目录
相关文章
|
安全 Linux 网络安全
什么是VPN网关?
VPN网关是一款基于Internet的网络连接服务,通过加密通道的方式实现企业数据中心、企业办公网络或Internet终端与阿里云专有网络(VPC)安全可靠的连接。VPN网关提供IPsec-VPN连接和SSL-VPN连接。
1776 0
|
19天前
|
负载均衡 Java 应用服务中间件
Gateway服务网关
Gateway服务网关
29 1
Gateway服务网关
|
3月前
|
Java API 微服务
服务网关Gateway
该博客文章详细介绍了Spring Cloud Gateway的使用方法和概念。文章首先阐述了API网关在微服务架构中的重要性,解释了客户端直接与微服务通信可能带来的问题。接着,文章通过具体的示例代码,展示了如何在Spring Cloud Gateway中添加依赖、编写路由规则,并对路由规则中的基本概念如Route、Predicate和Filter进行了详细解释。最后,文章还提供了路由规则的测试方法。
服务网关Gateway
|
6月前
|
弹性计算 运维 监控
NAT网关介绍
NAT网关介绍
71 1
|
6月前
|
负载均衡 安全 网络协议
网关知识总结
网关知识总结
1006 0
|
11月前
|
负载均衡 Java 应用服务中间件
网关
网关
67 1
|
缓存 运维 监控
这么重要的网关,你还不需要么
这么重要的网关,你还不需要么
274 0
这么重要的网关,你还不需要么
|
负载均衡 Java Nacos
Gateway 网关服务
Gateway 网关服务
142 0
|
监控 前端开发 安全
Gateway服务网关(一)
Gateway服务网关
196 0
|
Java API 微服务
Gateway服务网关(二)
Gateway服务网关
129 0