微服务Api网关框架视频课程

可以让研发人员自行搭建网关框架,还有对整体架构设计有一定的视野开拓。

7838人学习

高级59课时2018/07/07更新

二维码下载学堂APP缓存视频离线看

老顾
    • 畅销套餐
    • 精选套餐
    • 人气套餐
    • 尊享套餐
    • 高薪套餐
Java Web全栈工程师之路【买视频送书】
XML需知需会:Java、C#、Python多种语言解析XML文档
67505人学习
¥49.00
jQuery必知必会:老程序员手把手带您完成一个【MyNotes】Web前端项目
45166人学习
¥49.00
师傅带徒弟学Java Web:老程序员带您完成一个【网上商城】Web项目
131654人学习
¥268.00
更 多 9 门 课 程
Java基础入门项目实战专题【买课送书】
师傅带徒弟学Java第1篇 Java基础视频课程
645336人学习
¥29.00
师傅带徒弟学Java第2篇 【Java】面向对象视频课程
524947人学习
¥49.00
师傅带徒弟学Java第4篇项目实战视频课程1——【Java】PetStore宠物商店
320207人学习
¥159.00
更 多 5 门 课 程
Java软件开发全套课程(笔记+项目案例)
SpringCloud微服务快速入门实战课程【2020版】
6354人学习
¥48.00
Redis入门视频课程(适合初学者的教程)
25106人学习
¥29.00
Dubbo快速入门视频课程(通俗易懂)
28356人学习
¥29.00
更 多 42 门 课 程
鸟哥门徒课程专题(Java全套+Web前端全套+数据库全套)
PS快速入门视频教程
3728人学习
¥39.00
全套精讲C语言基础视频课程【答疑+课件下载】
4215人学习
¥78.00
Java基础与提高全套视频上卷[IDEA版本]
4225人学习
¥198.00
更 多 59 门 课 程
鸟哥门徒课程专题(Java全套+Web前端全套+数据库全套)
PS快速入门视频教程
3728人学习
¥39.00
全套精讲C语言基础视频课程【答疑+课件下载】
4215人学习
¥78.00
Java基础与提高全套视频上卷[IDEA版本]
4225人学习
¥198.00
更 多 59 门 课 程
  • 课程介绍
  • 课程大纲

适合人群:

中级软件开发,架构师

你将会学到:

可以让研发人员自行搭建网关框架,还有对整体架构设计有一定的视野开拓。

课程简介:

最近微服务架构在项目中的应用越来越多,我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 Rest Api 风格的接口来被 H5, Android, IOS 以及第三方应用程序调用。

但是在UI上进行展示的时候,我们通常需要在一个界面上展示很多数据,这些数据可能来自于不同的微服务中,举个例子。

在一个电商系统中,查看一个商品详情页,这个商品详情页包含商品的标题,价格,库存,评论等,这些数据对于后端来说可能是位于不同的微服务系统之中,可能我后台的系统是这样来拆分我的服务的:

  • 产品服务 - 负责提供商品的标题,描述,规格等。

  • 价格服务 - 负责对产品进行定价,价格策略计算,促销价等。

  • 库存服务 - 负责产品库存。

  • 评价服务 - 负责用户对商品的评论,回复等。

现在,商品详情页需要从这些微服务中拉取相应的信息,问题来了?

问题

由于我们使用的服务系统架构,所以没办法像传统单体应用一样依靠数据库的 join 查询来得到最终结果,那么如何才能访问各个服务呢?

按照微服务设计的指导原则,我们的微服务可能存在下面的问题:

  • 服务使用了多种协议,因为不同的协议有不同的应场景用,比如可能同时使用 HTTP, AMQP, gRPC 等。

  • 服务的划分可能随着时间而变化。

  • 服务的实例或者Host+端口可能会动态的变化。

那么,对于前端的UI需求也可能会有以下几种:

  • 粗粒度的API,而微服务通常提供的细粒度的API,对于UI来说如果要调用细粒度的api可能需要调用很多次,这是个不小的问题。

  • 不同的客户端设备可能需要不同的数据。Web,H5,APP

  • 不同设备的网络性能,对于多个api来说,这个访问需要转移的服务端会快得多

以上,就是我们构建微服务的过程中可能会遇到的问题。那么如何解决呢?

这种情况下, API 网关(API Gataway)诞生了。

API 网关

API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。

API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通过API-GW注册和管理服务。

API网关网关的价值:

  • 网关层对外部和内部进行了隔离,保障了后台服务的安全性。 

  • 对外访问控制由网络层面转换成了运维层面,减少变更的流程和错误成本 

  • 减少客户端与服务的耦合,服务可以独立发展。通过网关层来做映射。 

  • 通过网关层聚合,减少外部访问的频次,提升访问效率。 

  • 节约后端服务开发成本,减少上线风险。 

  • 为服务熔断,灰度发布,线上测试提供简单方案。

当然现在市面上的Api网关开源项目,有以下项目

Tyk:Tyk是一个开放源码的API网关,它是快速、可扩展和现代的。Tyk提供了一个API管理平台,其中包括API网关、API分析、开发人员门户和API管理面板。Try 是一个基于Go实现的网关服务。

Kong:Kong是一个可扩展的开放源码API Layer(也称为API网关或API中间件)。Kong 在任何RESTful API的前面运行,通过插件扩展,它提供了超越核心平台的额外功能和服务。

Orange:和Kong类似也是基于OpenResty的一个API网关程序,是由国人开发的。

Netflix zuul:Zuul是一种提供动态路由、监视、弹性、安全性等功能的边缘服务。Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。

apiaxle: Nodejs 实现的一个 API 网关。

api-umbrella: Ruby 实现的一个 API 网关。

老顾这系列课程就给大家介绍一下nignx + lua方式的网关框架,也是很多公司常用的网关框架

展开更多

“老顾”老师的其他课程更多+

在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部