加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

API 网关机能较量:Nginx vs. Zuul vs. Spring Cloud Gateway vs. Linke

发布时间:2019-04-03 00:54:42 所属栏目:教程 来源:佚名
导读:API 网关 API 网关呈现的缘故起因是微处事架构的呈现,差异的微处事一样平常会有差异的收集地点,而外部客户端也许必要挪用多个处事的接谈锋气完成一个营业需求,假如让客户端直接与各个微处事通讯,会有以下的题目: 客户端会多次哀求差异的微处事,增进了客户端

我们本日谈的是 API 网关机能,这一点也涉及到高可用,简朴先容 Zuul 的高可用特征,高可用长短常要害的,由于外部哀求到后端微处事的流量城市颠末 Zuul,以是在出产情形中一样平常都必要陈设高可用的 Zuul 来停止单点妨碍。一样平常我们有两种陈设方案:

1. Zuul 客户端注册到 Eureka Server

这种环境是较量简朴的环境,只必要将多个 Zuul 节点注册到 Eureka Server 上,就可以实现 Zuul 的高可用。究竟上,这种环境下的高可用和其他处事做高可用的方案没有什么区别。我们来看下面这张图,当 Zuul 客户端注册到 Eureka Server 上时,只必要陈设多个 Zuul 节点就可以实现高可用。Zuul 客户端会自动从 Eureka Server 查询 Zuul Server 列表,然后行使负载平衡组件(譬喻 Ribbon)哀求 Zuul 集群。

2. Zuul 客户端不能注册到 Eureka Server

若是说我们的客户端是手机端 APP,那么不行能通过方案 1 的方法注册到 Eureka Server 上。这种环境下,,我们可以通过特另外负载平衡器来实现 Zuul 的高可用,譬喻 Nginx、HAProxy、F5 等。

如图所示,Zuul 客户端将哀求发送到负载平衡器,负载平衡器将哀求转发到其署理的个中一个 Zuul 节点,这样就可以实现 Zuul 的高可用。

Spring Cloud

固然 Spring Cloud 带有“Cloud”,可是它并不是针对云计较的办理方案,而是在 Spring Boot 基本上构建的,用于快速构建漫衍式体系的通用模式的器材集。

行使 Spring Cloud 开拓的应用措施很是得当在 Docker 可能 PaaS 上陈设,以是又叫云原生应用。云原生可以简朴领略为面向云情形的软件架构。

既然是器材集,那么它必然包括许多器材,我们来看下面这张图:

这里因为仅涉及到 API 网关的比拟,因此我不一一先容其他器材了。

Spring Cloud 对 Zuul 举办了整合,但从 Zuul 来看,没有大变革,可是 Spring Cloud 整个框架颠末尾组件的集成,提供的成果远多于 Netflix Zuul,也许比拟时会呈现差别。

Service Mesh 之 Linkerd

我想 Turgay Celik 博士把 Linkerd 作为比拟工具之一,也许是由于 Linkerd 为云原生应用提供弹性的 Service Mesh,而 Service Mesh 可以或许提供轻量级高机能收集署理,而且也提供微处事框架支撑。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读