微服务网关是什么意思?微服务网关有哪些?

知梧 298 2022-09-08


本文关于微服务网关是什么意思?微服务网关有哪些?

1. 微服务网关

不同的微服务一般会有不同的网络地址,客户端在访问这些微服务时必须记住几十甚至几百个地址,这对于客户端方来说太复杂也难以维护。

如果让客户端直接与各个微服务通讯,可能会有很多问题:

1.客户端会请求多个不同的服务,需要维护不同的请求地址,增加开发难度

2.在某些场景下存在跨域请求的问题

3.加大身份认证的难度,每个微服务需要独立认证

因此,我们需要一个微服务网关,介于客户端与服务器之间的中间层,所有的外部请求都会先经过微服务网关。客户端只需要与网关交互,只知道一个网关地址即可,这样简化了开发还有以下优点:

1、易于监控

2、易于认证

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

2.服务网关的概念

什么是微服务网关?

API网关是一个服务器,是系统对外的唯一入口。API网关封装了系统内部架构,为每个客户端提供

一个定制的API。API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能.通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务。

作用和应用场景?

网关具有的职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。当然,最主

要的职责还是与“外界联系”。

3. 常见的API网关实现方式

Kong

基于Nginx+Lua开发,性能高,稳定,有多个可用的插件(限流、鉴权等等)可以开箱即用。

问题:只支持Http协议;二次开发,自由扩展困难;提供管理API,缺乏更易用的管控、配置方

式。

Zuul

Netflix开源,功能丰富,使用JAVA开发,易于二次开发;需要运行在web容器中,如Tomcat。

问题:缺乏管控,无法动态配置;依赖组件较多;处理Http请求依赖的是Web容器,性能不如

Nginx;

Traefik

Go语言开发;轻量易用;提供大多数的功能:服务路由,负载均衡等等;提供WebUI

问题:二进制文件部署,二次开发难度大;UI更多的是监控,缺乏配置、管理能力;

Spring Cloud Gateway

SpringCloud提供的网关服务

Nginx+lua实现

使用Nginx的反向代理和负载均衡可实现对api服务器的负载均衡及高可用

问题:自注册的问题和网关本身的扩展性

1.3 基于Nginx的网关实现

https://blog.csdn.net/qq_39759664/article/details/116567269

四大网关对比

目前流行的用得较多的几个网关:Zuul 2、SpringCLoud Gateway、Kong、OpenResty。他们都基于各自不同的语言实现,也都有着各自不同的优缺点。

四大网关对比
网关语言限流鉴权监控易用性可维护性成熟度
SpringCoud Gateway基于Java语言可以通过IP,用户,集群限流,提供了相应的接口进行扩展。普通鉴权OAuth 2.0GateWay Mettries  Filter简单易用Spring系列可扩展性强,易配置可维护性好Spring社区成熟,资源少
Zuul 2基于Java语言可以通过配置文件配置集群限流和但服务限流,也可通过Filter实现限流扩展。Filter中实现Filter中实现参考资料少可维护性差开源不久,资源少
OpenResty基于Nginx+Lua需要Lua开发需要Lua开发需要开发几单易用,但是需要Lua开发可维护性差,需要大量lua脚本成熟,资料多
Kong基于Nginx+Lua根据秒、分、时、天月、年,根据用户进行限流。可在源码的基础上进行开发。普通鉴权,Key Auth鉴权,HMAC,OAuth2.0k可上报datadog,记录请求数量、请求数据量、应答数据量、接收与发送的时间间隔、状态码数量、Kong内运行时间j简单易用,API转发通过管理员接口配置,开发需要Lua可维护性差,需要大量lua脚本库相对成熟,插件开源

总结

基于不同的业务场景,选择不同的API网关组件,应对不同的系统流量和并发数。不同的业务场景,在技术选型上也是及其重要的一环。例如:Kong的性能虽然非常不错,适合做流量网关,但是对于复杂的业务系统不建议用Kong,因为会给系统的性能带来缺陷。再如SpringCloud GateWay/Zuul2对于Java技术栈来说比较方便,但是对于lua开发语言不方便。

上述就是小编为大家整理的微服务网关是什么意思?微服务网关有哪些的相关内容。

国内(北京、上海、广州、深圳、成都、重庆、杭州、西安、武汉、苏州、郑州、南京、天津、长沙、东莞、宁波、佛山、合肥、青岛)eolink软件分析、比较及推荐。



版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:重磅!海泰方圆工业强基智能网联汽车项目顺利通过验收
下一篇:spring@value注入配置文件值失败的原因分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~