Nepxion Discovery学习笔记7 网关是什么?

什么是网关,作用是什么?

首先得知道:如果没有网关的存在,我们只能在客户端记录每个微服务的地址,然后分别去调用.

这样的架构,会存在着诸多的问题

1.客户端多次请求不同的微服务,增加客户端代码或配置编写的复杂性

2.认证复杂,每个服务都需要独立认证。

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

因此网关就是为了解决这些问题而存在的组件

API网关:

就是指系统的统一入口,它封装了应用程序的内部结构,为客户端提供统一服务,一些与业务本身功能无关的公共逻辑可以在这里实现,如认证、鉴权、监控、路由转发等等。

常用的网关有下面这些:

1.Ngnix+lua

使用nginx的反向代理和负载均衡可实现对api服务器的负载均衡及高可用 lua是一种脚本语言,可以来编写一些简单的逻辑, nginx支持lua脚本

2.Kong

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

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

3.Zuul

Netflflix开源的网关,功能丰富,使用JAVA开发,易于二次开发 。

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

 

4.Spring Cloud Gateway

Spring公司为了替换Zuul而开发的网关服务,将在下面具体介绍。

注意:SpringCloud alibaba技术栈中并没有提供自己的网关,我们可以采用Spring Cloud Gateway 来做网关!

猜你喜欢

转载自blog.csdn.net/weixin_42585386/article/details/109246947