微服务·API网关

   微服务·API网关            

阅文时长 |  3.52分钟 字数统计 |  1232字符
主要内容 |  一、什么是API网关 二、微服务中的API网关 三、几种部署策略
『微服务·API网关』
编写人 | SCscHero 编写时间 | 2020/9/3 AM6:31
文章类型 |  系列 完成度 | 已完成
座右铭 每个伟大的事业,都有一个微不足道的开始。
1、什么是API网关   完成度:100%

普遍定义

在维基百科中没有找到API网关或者API GateWay的词条,可是在百度百科中有这样的总结,能够参考理解。html

两个相互独立的局域网之间经过路由器进行通讯,中间的路由被称之为网关。
任何一个应用系统若是须要被其余系统调用,就须要暴露API,这些 API 表明着一个一个的功能点。
若是两个系统中间通讯,在系统之间加上一个中介者协助API的调用,这个中介者就是API网关。设计模式

——选自《百度百科》跨域


我的理解

我的理解的API网关,是在微服务框架中扮演着统一接入客户端、消费端的API请求的入口,经过API网关作服务发现、反向代理、负载均衡。相似于设计模式中的外观模式。还有其余功能,好比处理身份认证、流量控制、访问日志、反向代理、服务发现。服务器

经常使用的API网关有哪些

(1)【Zull】JAVA开发
(2)【Kong】lua开发,部分功能收费,维护成本高。
(3)【TYK】go开发 收费
(4)【Ocelot】ASP.NetCore开发
固然,对于.Neter对于Ocelot的学习更为适当,目前学习资料比较多,博主以后也会写一篇Ocelot的博客。架构

2、微服务中的API网关   完成度:100%

微服务架构中API网关所处的角色

以下图,客户端访问API网关层的负载均衡服务器,SLB转发到API网关集群中处理,API网关集群与注册中心通信,进行服务发现,进而进行服务访问。负载均衡

在这里插入图片描述

微服务中API网关不可或缺?

增长客户端请求的复杂度,客户端须要请求不一样的微服务。
跨域问题,微服务的请求地址各不相同。
身份认证,每套微服务须要一套身份认证,代码耦合度变高。框架

API网关的优缺点

优势
一、封装了API调用的内部结构,能够提供微服务架构中的非业务性功能(身份认证、鉴权等),下降微服务中代码耦合。
二、客户端只须要关注与网关交互,而不直接调用微服务。
三、API网关可为每一类客户端提供了特性的API,减小客户端和微服务间的交互次数。
四、能够结合微服务注册中心组件,动态增长微服务节点,进行服务扩容。并有其余熔断、降级、健康检查等功能。
五、能够方便实行某些部署策略,如蓝绿部署、金丝雀部署。
六、可实现服务集群的负载均衡。
缺点
一、增长了维护、部署的工做。网关不可单点部署,不然挂了,将面临整个系统也将崩溃。ide

3、几种部署策略   完成度:100%

蓝绿部署,新旧版本并行发布,流量渐渐转向新版本。
大爆炸部署,将旧版本中止,切换新版本。
滚动部署。旧版本缓慢更新到新版本(逐个服务器更新)。
金丝雀部署。新版本面向一部分用户,最后将完整的流量引流过来。微服务

若是有帮助到你,请点个赞哦。若是有什么问题,请评论,一块儿探讨一下。共同进步!若有什么须要与做者联系的,直接私信SCscHero便可。学习

相关文章
相关标签/搜索