ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Gateway网关

2022-05-12 16:02:17  阅读:160  来源: 互联网

标签:网关 服务 请求 认证 API Gateway 客户端


1、微服务网关的基本介绍

不同的微服务一般会有不同的网络地址,客户端在访问这些微服务时必须记住几十甚至几百个地址,这对于客户端方来说太复杂也难以维护,如果让客户端直接与各个微服务通讯,可能会有很多问题:

  1. 客户端会请求多个不同的服务,需要维护不同的请求地址,增加开发难度
  2. 在某些场景下存在跨域请求的问题
  3. 加大身份认证的难度,每个微服务需要独立认证

因此,我们需要一个微服务网关,介于客户端与服务器之间的中间层,所有的外部请求都会先经过微服务网关。客户端只需要与网关交互,只知道一个网关地址即可。

网关是介于客户端和服务器端之间的中间层,所有的外部请求都会先经过网关这一层。也就是说,API 的实现方更多地只需要考虑业务逻辑,而安全、性能、监控可以交由网关来完成,这样既提高业务灵活性又不缺安全性。

微服务网关是一个服务器,是系统对外的唯一入口。网关封装了系统内部架构,为外部客户端提供一个定制的 API。API 网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP 的访问 API。服务端通过 API-GW 注册和管理服务。

 

1.1、使用微服务网关的优点

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

使用网关的优点:

  1. 安全 。只有网关系统对外进行暴露,微服务可以隐藏在内网,通过防火墙保护。
  2. 易于监控。可以在网关收集监控数据并将其推送到外部系统进行分析。
  3. 易于认证。可以在网关上进行认证,然后再将请求转发到后端的微服务,而无须在每个微服务中进行认证。
  4. 减少了客户端与各个微服务之间的交互次数。
  5. 易于统一授权。

微服务网关就是一个系统,通过暴露该微服务网关系统,方便我们进行相关的鉴权,安全控制,日志统一处理,易于监控的相关功能。

 

1.2、常见的网关实现方式

常见的实现微服务网关的技术有以下:

  1. Nginx。 使用Nginx的反向代理和负载均衡可实现对api服务器的负载均衡及高可用。
  2. zuul。Zuul 是 Netflix 出品的一个基于 JVM 路由和服务端的负载均衡器。Netflix开源,功能丰富,使用JAVA开发,易于二次开发;需要运行在web容器中,如Tomcat。但是缺乏管控,无法动态配置;依赖组件较多;处理Http请求依赖的是Web容器,性能不如Nginx;
  3. spring cloud gateway。gateway 是spring 出品的 基于spring 的网关项目,集成断路器,路径重写,性能比Zuul好。

 

标签:网关,服务,请求,认证,API,Gateway,客户端
来源: https://www.cnblogs.com/wenxuehai/p/16262799.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有