API 网关(spring cloud gateway)自学之路-1(理论知识)

好久没有更新博客啦,也说明好久没有学习了,惭愧,捂脸(*/ω\*)

最近因为工作原因,学习引入API网关,springcloud系列的gateway,注册中心使用nacos,nacos后续再另外记录学习笔记吧,先记录一下gateway。第一课程,先来点简单的理论知识吧。说一说什么是网关。

什么是服务网关?

1.出现在系统边界,面向API,船型集中式的强管控服务;

2.是一个服务器,是系统对外的唯一入口;

3.聚合接口使得服务对调用者透明,客户端与后端的耦合度降低;

4.聚合后台服务(因为后台服务可能使用的不同的语言,不同的平台基础等),节省流量,提高性能,提高用户体验;

5.提供安全、流控、过滤、计费、监控等API管理功能。

----

为什么要使用网关?

说先要说说微服务情况下没有网关的弊端

1.客户端多次请求不同的微服务,增加了客户端的复杂性

2.存在跨域请求,在一定场景下处理相对复杂

3.身份认证问题,每个微服务都需要独立的身份认证

4.难以重构,随着项目的迭代,可能需要重新划分微服务

5.某些微服务可能使用了防火墙或者对浏览器不友好的协议,直接访问会有一定的困难;

在这种情况下,使用网关后的优势如下:

1.易于监控,可在微服务网关手机监控数据并将其推送到外部系统进行分析

2.易于认证,可在微服务网关上进行认证,然后再将请求转发到后端的微服务,从而无需再每个微服务中进行认证

3.减少了客户端与各个微服务之间的交互次数

使用网关的基本功能如下:

1.统一接入

2.协议适配

3.安全防控

4.流量管控


具体功能如下:

1.性能:API高可用,负载均衡,容错机制;

2.安全:权限身份认证、脱敏、流量清洗、后端签名,黑名单等;

3.日志:全链路跟踪日志;

4.缓存:数据缓存;

5.监控:记录请求响应数据,API耗时分析,性能监控;

6.限流:流量控制,错峰流控,可以定义多种限流规则;

7.灰度:线上灰度部署,可以减小风险;

8.路由:动态路由规则。


常用的网关都有哪些?

1.NGINX+lua(适合门户网关)

2.kong

3.traefik(go语言)

4.spring cloud netflix zuul

5.spring cloud gateway

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值