微服务·API网关
| 阅文时长 | | 3.52分钟 | 字数统计 | | 1232字符 |
| 主要内容 | | 1、什么是API网关 2、微服务中的API网关 3、几种部署策略 |
||
| 『微服务·API网关』 | |||
| 编写人 | | SCscHero | 编写时间 | | 2020/9/3 AM6:31 |
| 文章类型 | | 系列 | 完成度 | | 已完成 |
| 座右铭 | 每一个伟大的事业,都有一个微不足道的开始。 | ||
一、什么是API网关 完成度:100%
广泛定义
在维基百科中没有找到API网关或者API GateWay的词条,但是在百度百科中有这样的总结,可以参考理解。
两个相互独立的局域网之间通过路由器进行通信,中间的路由被称之为网关。
任何一个应用系统如果需要被其他系统调用,就需要暴露API,这些 API 代表着一个一个的功能点。
如果两个系统中间通信,在系统之间加上一个中介者协助API的调用,这个中介者就是API网关。——选自《百度百科》
个人理解
个人理解的API网关,是在微服务框架中扮演着统一接入客户端、消费端的API请求的入口,通过API网关做服务发现、反向代理、负载均衡。类似于设计模式中的外观模式。还有其他功能,比如处理身份认证、流量控制、访问日志、反向代理、服务发现。
常用的API网关有哪些
(1)【Zull】JAVA开发
(2)【Kong】lua开发,部分功能收费,维护成本高。
(3)【TYK】go开发 收费
(4)【Ocelot】ASP.NetCore开发
当然,对于.Neter对于Ocelot的学习更为适当,目前学习资料比较多,博主之后也会写一篇Ocelot的博客。
二、微服务中的API网关 完成度:100%
微服务架构中API网关所处的角色
如下图,客户端访问API网关层的负载均衡服务器,SLB转发到API网关集群中处理,API网关集群与注册中心通讯,进行服务发现,进而进行服务访问。

微服务中API网关不可或缺?
增加客户端请求的复杂度,客户端需要请求不同的微服务。
跨域问题,微服务的请求地址各不相同。
身份认证,每套微服务需要一套身份认证,代码耦合度变高。
API网关的优缺点
优点
1、封装了API调用的内部结构,可以提供微服务架构中的非业务性功能(身份认证、鉴权等),降低微服务中代码耦合。
2、客户端只需要关注与网关交互,而不直接调用微服务。
3、API网关可为每一类客户端提供了特性的API,减少客户端和微服务间的交互次数。
4、可以结合微服务注册中心组件,动态增加微服务节点,进行服务扩容。并有其他熔断、降级、健康检查等功能。
5、可以方便实行某些部署策略,如蓝绿部署、金丝雀部署。
6、可实现服务集群的负载均衡。
缺点
1、增加了维护、部署的工作。网关不可单点部署,否则挂了,将面临整个系统也将崩溃。
三、几种部署策略 完成度:100%
蓝绿部署,新旧版本并行发布,流量渐渐转向新版本。
大爆炸部署,将旧版本停止,切换新版本。
滚动部署。旧版本缓慢更新到新版本(逐个服务器更新)。
金丝雀部署。新版本面向一部分用户,最后将完整的流量引流过来。
如果有帮助到你,请点个赞哦。如果有什么问题,请评论,一起探讨一下。共同进步!如有什么需要与作者联系的,直接私信SCscHero即可。
微服务·API网关的更多相关文章
- .NET Core 微服务—API网关(Ocelot) 教程 [二]
上篇文章(.NET Core 微服务—API网关(Ocelot) 教程 [一])介绍了Ocelot 的相关介绍. 接下来就一起来看如何使用,让它运行起来. 环境准备 为了验证Ocelot 网关效果,我 ...
- .NET Core 微服务—API网关(Ocelot) 教程 [三]
前言: 前一篇文章<.NET Core 微服务—API网关(Ocelot) 教程 [二]>已经让Ocelot和目录api(Api.Catalog).订单api(Api.Ordering)通 ...
- 【微服务】之六:轻松搞定SpringCloud微服务-API网关zuul
通过前面几篇文章的介绍,我们可以轻松搭建起来微服务体系中比较重要的几个基础构建服务.那么,在本篇博文中,我们重点讲解一下,如何将所有微服务的API同意对外暴露,这个就设计API网关的概念. 本系列教程 ...
- 微服务API网关
当你选择采用微服务构建自己的程序,则你需要考虑客户端怎样与后端服务交互.对于一个单体应用,仅有一个服务群提供服务(通过负载均衡器实现).在微服务架构里面,每一个服务都暴漏了一个服务器集群.本篇文章我们 ...
- 【10】JMicro微服务-API网关
如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl 往下看前,建议完成前面1到9小节 1. Api网关基本特性: Api网关作为对外网提供服务的基本入口,地位类似于NGINX, ...
- .NET Core 微服务—API网关(Ocelot) 教程 [一]
前言: 最近在关注微服务,在 eShop On Containers 项目中存在一个API网关项目,引起想深入了解下它的兴趣. 一.API网关是什么 API网关是微服务架构中的唯一入口,它提供一个单独 ...
- .NET Core 微服务—API网关(Ocelot) 教程 [四]
前言: 上一篇 介绍了Ocelot网关和认证服务的结合使用,本篇继续介绍Ocelot相关请求聚合和Ocelot限流 一.请求聚合 Ocelot允许声明聚合路由,这样可以把多个正常的Routes打包并映 ...
- 微服务API Gateway
翻译-微服务API Gateway 原文地址:http://microservices.io/patterns/apigateway.html,以下是使用google翻译对原文的翻译. 让我们想象一下 ...
- 微服务与网关技术(SIA-GateWay)
一.背景 软件架构,总是在不断的演进中... 把时间退回到二十年之前,当时企业级领域研发主要推崇的还是C/S模式,PB.Delphi这样的开发软件是企业应用开发的主流.随着时间的推移,基于浏览器的B/ ...
- 对微服务API服务网关的理解
目录微服务专栏地址目录1. 简介2. 什么是API网关3. 为什么需要API网关4. API网关在微服务架构体系中处于什么位置4.1 调用者眼中的API网关4.2 所处的位置5. 网关技术实现有哪些6 ...
随机推荐
- Java类集框架详细汇总-底层分析
前言: Java的类集框架比较多,也十分重要,在这里给出图解,可以理解为相应的继承关系,也可以当作重要知识点回顾: Collection集合接口 继承自:Iterable public interfa ...
- 面向前端开发人员的VSCode自动化插件
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文参考:https://blog.bitsrc.io/vscode-automations-for-fro ...
- 爬虫入门到放弃系列07:js混淆、eval加密、字体加密三大反爬技术
前言 如果再说IP请求次数检测.验证码这种最常见的反爬虫技术,可能大家听得耳朵都出茧子了.当然,也有的同学写了了几天的爬虫,觉得爬虫太简单.没有啥挑战性.所以特地找了三个有一定难度的网站,希望可以有兴 ...
- 2020-BUAA OO-面向对象设计与构造-HW11中对ageVar采用缓存优化的等价性证明(包括溢出情况)
HW11中对ageVar采用缓存优化的等价性证明(包括溢出情况) 概要 我们知道,第三次作业里age上限变为2000,而如果缓存年龄的平方和,2000*2000*800 > 2147483647 ...
- Python:函数解释(面向过程)
1. 函数概述 在编程的语境下,函数 (function) 是指一个有命名的.执行某个计算的语句序列 (sequence of statements) .函数可以针对某类问题建立了通用解决步骤(算法) ...
- Android通过Web与后台数据库交互
2021.1.27 更新 已更新新版本博客,更新内容与原文章相比有点多,因此新开了一篇博客,请戳这里. 1 背景 开发一个App与后台数据库交互,基于MySQL+原生JDBC+Tomcat,没有使用D ...
- Fiddler 菜单功能 Host配置 请求伪造 接口调试
菜单功能: Fiddler工具栏上每个按钮的功能只要鼠标停留在按钮上面就会出现英文描述的功能. 小气泡:增加备注,点击气泡即可对下面捕捉到的会话增加备注(很少使用) Replay回放按钮:较常用,捕捉 ...
- GoTTY-K8S-Docker 终端
安装GoTTY 下载yum源 curl -s https://mirror.go-repo.io/centos/go-repo.repo | tee /etc/yum.repos.d/go-repo. ...
- JAVAEE_Servlet_07_设置网站欢迎页面
Web站点的欢迎页面的设置 * 欢迎页面怎么设置? - 假设在WebContent下创建login.html,想让login.html作为站点的欢迎页面. - 打开web.xml文件,添加<we ...
- php 一些神奇加有趣的函数
php里面神奇且又有趣的函数 这么有意思的title,我忍不住要啰嗦俩句,1--只是个人喜欢,不喜勿喷:2--仅个人笔记,未完,待续 列举 get_defined_constants:get_defi ...