栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271034.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号