没有合适的资源?快使用搜索试试~ 我知道了~
谈谈微服务中的APIGateway-Savorboard-博客园1
需积分: 0 0 下载量 47 浏览量
2022-08-03
12:37:39
上传
评论
收藏 1.55MB PDF 举报
温馨提示
试读
15页
背景我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语
资源详情
资源评论
资源推荐
2019/10/31 谈谈微服务中的 API 网关(API Gateway) - Savorboard - 博客园
https://www.cnblogs.com/savorboard/p/api-gateway.html 1/15
博客园 首页 联系 订阅 管理 随笔 - 94 文章 - 0 评论 - 1691
『代码如诗』 ┈这是我们为世界写的诗歌。
谈谈微服务中的 API 网关(API Gateway)
前言
又是很久没写博客了,最近一段时间换了新工作,比较忙,所以没有抽出来太多的时间写给关注我的粉丝写一些
干货了,就有人问我怎么最近没有更新博客了,在这里给大家抱歉。
那么,在本篇文章中,我们就一起来探讨一下 API 网关在整个微服务分布式架构中的一个作用。
背景
我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自
成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest Api 风格
的接口来被 H5, Android, IOS 以及第三方应用程序调用。
但是在UI上进行展示的时候,我们通常需要在一个界面上展示很多数据,这些数据可能来自于不同的微服务中,
举个例子。
在一个电商系统中,查看一个商品详情页,这个商品详情页包含商品的标题,价格,库存,评论等,这些数据对
于后端来说可能是位于不同的微服务系统之中,可能我后台的系统是这样来拆分我的服务的:
公告
访问统计:
姓名:杨晓东
所在位置: 四川-成都
Email:yangxiaodong1214@126.com
联系QQ:615709110
Software Engineer / FOSS Developer
昵称: Savorboard
园龄: 8年10个月
荣誉: 推荐博客
粉丝: 2026
关注: 18
Savorboard
105
0
关注我
2019/10/31 谈谈微服务中的 API 网关(API Gateway) - Savorboard - 博客园
https://www.cnblogs.com/savorboard/p/api-gateway.html 2/15
产品服务 - 负责提供商品的标题,描述,规格等。
价格服务 - 负责对产品进行定价,价格策略计算,促销价等。
库存服务 - 负责产品库存。
评价服务 - 负责用户对商品的评论,回复等。
现在,商品详情页需要从这些微服务中拉取相应的信息,问题来了?
问题
由于我们使用的服务系统架构,所以没办法像传统单体应用一样依靠数据库的 join 查询来得到最终结果,那么
如何才能访问各个服务呢?
按照微服务设计的指导原则,我们的微服务可能存在下面的问题:
服务使用了多种协议,因为不同的协议有不同的应场景用,比如可能同时使用 HTTP, AMQP, gRPC 等。
服务的划分可能随着时间而变化。
服务的实例或者Host+端口可能会动态的变化。
那么,对于前端的UI需求也可能会有以下几种:
粗粒度的API,而微服务通常提供的细粒度的API,对于UI来说如果要调用细粒度的api可能需要调用很多
次,这是个不小的问题。
不同的客户端设备可能需要不同的数据。Web,H5,APP
不同设备的网络性能,对于多个api来说,这个访问需要转移的服务端会快得多
以上,就是我们构建微服务的过程中可能会遇到的问题。那么如何解决呢?
这种情况下,我们就需要一个今天要讲的这个东西, API 网关(API Gataway)。
API 网关
+加关注
最新随笔
1.CAP 2.6 版本发布通告
2.基于 Kong 和 Kubernetes 的 WebApi 多
版本解决方案
3.ASP.NET Core 身份验证(一)
4.CAP 2.5 版本中的新特性
5.还在用NuGet吗?大哥FuGet了解一下
6.CAP 2.4版本发布,支持版本隔离特性
7.在 ASP.NET Core 中集成 Skywalking
APM
8.如何在你的项目中集成 CAP【手把手视频
教程】
9.CAP 2.3版本发布,支持 MongoDB
10.MongoDB 4.0 开发环境搭建集群
随笔分类
.NET Core(36)
ASP.NET Core(47)
C#(3)
EF Core(3)
Micro Service(12)
Python(3)
翻译转载(9)
前端(2)
算法 & 设计模式(4)
随笔档案
105
0
关注我
2019/10/31 谈谈微服务中的 API 网关(API Gateway) - Savorboard - 博客园
https://www.cnblogs.com/savorboard/p/api-gateway.html 3/15
下面是百度上针对于 API 网关的介绍:
API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了
系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均
衡、缓存、请求分片与管理、静态响应处理。
API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非
业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务。
Chris Richardson 在他的博客中把 API 网关划分为以下两种:
单节点 API 网关
Backends for frontends 网关
单节点网关
2019年8月(1)
2019年6月(1)
2019年4月(2)
2019年1月(2)
2018年10月(1)
2018年9月(1)
2018年8月(2)
2018年4月(1)
2018年3月(1)
2017年12月(1)
2017年10月(1)
2017年8月(4)
2017年7月(6)
2017年6月(2)
2017年5月(4)
2017年4月(4)
2017年3月(4)
2017年2月(4)
2017年1月(5)
2016年12月(5)
2016年11月(5)
2016年10月(5)
2016年9月(6)
2016年8月(5)
2016年7月(5)
2016年6月(5)
2016年5月(1)
2016年4月(2)
2014年8月(1)
2013年9月(1)
2013年5月(1)
2013年1月(2)
2012年12月(1)
2012年10月(1)
105
0
关注我
剩余14页未读,继续阅读
FelaniaLiu
- 粉丝: 22
- 资源: 334
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0