资源共享吧|易语言论坛|逆向破解教程|辅助开发教程|网络安全教程|www.zygx8.com|我的开发技术随记

 找回密码
 注册成为正式会员
查看: 1997|回复: 8

[网络相关] 微服务Api网关框架-龙果学院 价值399

[复制链接]

715

主题

1223

帖子

1

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
11472
积分
4971
贡献
0
在线时间
2065 小时
注册时间
2015-4-20
最后登录
2024-7-9

终身VIP会员

发表于 2019-8-4 18:55:27 | 显示全部楼层 |阅读模式
微服务Api网关框架-龙果学院 价值399
游客,如果您要查看本帖隐藏内容请回复

最近 微服务架构在项目中的应用越来越多,我们知道在微服务架构风格中,一个大应用被拆分成为了多个小的服务系统提供出来,这些小的系统他们可以自成体系,也就是说这些小系统可以拥有自己的数据库,框架甚至语言等,这些小系统通常以提供 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方式的网关框架,也是很多公司常用的网关框架



课程大纲
第1章 第一章
第1讲 漫谈网关架构
第2讲 网关技术选型
第3讲 nginx下载安装
第4讲 正向代理、反向代理
第5讲 nginx命令、信号控制
第6讲 nginx平滑升级
第7讲 nginx配置文件说明
第8讲 nginx配置连接数
第9讲 nginx虚拟主机
第10讲 nginx日志以及切割
第11讲 nginx的location详解
第12讲 nginx的负载均衡
第13讲 nginx的echo模块安装
第14讲 openresty背景介绍
第15讲 openresty安装
第16讲 openresty的helloworld
第17讲 lua介绍以及helloworld
第18讲 lua基本语法一
第19讲 lua基本语法二
第20讲 lua基本语法三
第21讲 lua基本语法四
第22讲 lua运算符
第23讲 lua控制结构一
第24讲 lua控制结构二
第25讲 lua的正则表达式
第26讲 lua的string操作
第27讲 lua的table操作
第28讲 lua变量
第29讲 lua时间操作
第30讲 lua模块
第31讲 lua元表
第32讲 lua面向对象
第33讲 openresty中使用lua
第34讲 openresty中使用json模块
第35讲 openresty中使用redis模块
第36讲 openresty中封装redis操作
第37讲 openresty中使用mysql
第38讲 lua发起http请求
第39讲 openresty中使用http模块
第40讲 openresty中使用全局缓存
第41讲 openresty执行流程
第42讲 openresty执行详解之初始化阶段
第43讲 openresty执行详解之重写赋值阶段
第44讲 openresty执行详解之重写url阶段
第45讲 openresty执行详解之访问阶段
第46讲 openresty执行详解之内容阶段
第47讲 openresty执行详解之响应阶段
第48讲 openresty实现访问频率控制
第49讲 openresty实现黑名单控制
第50讲 openresty实现接口签名验证
第51讲 openresty实现网关框架
第52讲 openresty实现网关主入口
第53讲 openresty实现网关插件可配置
第54讲 openresty实现网关插件加载
第55讲 openresy实现网关之签名验证插件
第56讲 openresy实现网关之黑名单插件
第57讲 openresty实现网关之频率插件
第58讲 网关框架总结

回复

使用道具 举报

5

主题

636

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
1536
积分
1403
贡献
0
在线时间
412 小时
注册时间
2015-7-8
最后登录
2024-9-12

终身VIP会员

发表于 2019-8-4 21:31:40 | 显示全部楼层
微服务Api网关框架-龙果学院 价值399
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

Rank: 1

资源币
0
积分
4
贡献
0
在线时间
2 小时
注册时间
2019-8-15
最后登录
2019-12-31
发表于 2019-8-15 11:06:34 | 显示全部楼层
RE: 微服务Api网关框架-龙果学院 价值399 [修改]
回复 支持 反对

使用道具 举报

0

主题

14

帖子

0

精华

新手上路

Rank: 1

资源币
0
积分
14
贡献
0
在线时间
2 小时
注册时间
2019-10-26
最后登录
2019-10-28
发表于 2019-10-26 22:34:06 | 显示全部楼层
感谢,有空研究一下!
回复 支持 反对

使用道具 举报

4

主题

2337

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
29
积分
2359
贡献
0
在线时间
257 小时
注册时间
2020-8-3
最后登录
2021-10-16

终身VIP会员

发表于 2020-8-11 03:49:16 | 显示全部楼层
祝资源共享吧越来越火!
回复 支持 反对

使用道具 举报

3

主题

552

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
22
积分
554
贡献
0
在线时间
62 小时
注册时间
2020-11-12
最后登录
2024-11-10

终身VIP会员

发表于 2020-12-4 23:05:27 | 显示全部楼层
66666666666666666666666
回复 支持 反对

使用道具 举报

3

主题

426

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
239
积分
540
贡献
0
在线时间
103 小时
注册时间
2016-2-29
最后登录
2024-10-14

终身VIP会员

发表于 2021-6-19 12:46:02 | 显示全部楼层
微服务Api网关框架-龙果学院 价值399
回复 支持 反对

使用道具 举报

3

主题

101

帖子

0

精华

终身高级VIP会员

Rank: 7Rank: 7Rank: 7

资源币
17
积分
104
贡献
0
在线时间
17 小时
注册时间
2019-11-17
最后登录
2023-11-28

终身VIP会员

发表于 2022-8-13 17:26:50 | 显示全部楼层
回复

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

Rank: 1

资源币
5
积分
9
贡献
0
在线时间
2 小时
注册时间
2023-5-29
最后登录
2024-6-26
发表于 2023-12-2 22:39:12 | 显示全部楼层
感觉厉害
回复

使用道具 举报

 点击右侧快捷回复  

本版积分规则

小黑屋|资源共享吧 ( 琼ICP备2023000410号-1 )

GMT+8, 2024-11-23 20:56 , Processed in 0.064656 second(s), 14 queries , MemCached On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表