微服务入门:Openresty实现API网关
![]() 概念介绍 如果大家清楚“网关”这个概念,那就很容易理解“API网关“,即所有API的入口。 从面向对象设计的角度看,它与外观模式类似,封装了系统内部架构。在单体应用架构中,没有「 API网关 」的概念,每个项目都会用到filter/过滤器之类的东西,filter的作用就是把项目中的一些非业务逻辑的功能抽离出来独立处理,避免与业务逻辑混在一起增加代码复杂度。比如 鉴权认证功能、Session处理、安全检查、日志处理等等。 如果采用微服务架构,那一个项目中微服务节点很多,如果让每一个节点都去处理上面这些 “鉴权认证功能、Session处理、安全检查、日志处理等” 会多出很多冗余的代码,也会给增加业务代码的复杂度,因此就需要有一个API网关把这些公共的功能独立出来成为一个服务来统一的处理这些事情。 ![]() 主要功能 API网关就像是微服务的一扇门,是连通外部客户端与内部微服务之间的一个桥梁。 其主要功能有:
OpenResty API网关最主要的功能实现就是请求拦截,在网络请求的整个生命阶段加入各种filter/过滤器, OpenResty提供了这样的功能。 OpenResty? 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 OpenResty 处理一个请求,它的处理流程请参考下图(从 Request start 开始): ![]() 依据OpenResty的请求处理流程,和各种第三方模块,就可以在流程节点中加入我们的API网关逻辑代码。例如,对API请求数量进行统计:
【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
-
随着移动网络运营商即将在2020年推出新的高速5G网络,...[详细]
-
讲述自己一本正经地用一根网线坑室友的故事。从产品的...[详细]
-
人工智能(AI)和机器学习(ML)如今已经十分常见。AI指的...[详细]
-
前言 网络是我们工程师的基础技能之一, 毕竟没有网络...[详细]
-
随着5G时代的到来,移动通信实现了海量互联。5G不仅比...[详细]
-
现在已经有很多的运营商支持ipv6,前天还有不少朋友留...[详细]
-
说到数据工程,给人的感觉往往是空间数据的采集、核查...[详细]
-
茶余饭后不聊个AI人工智能啥的都觉得自己不是社会人儿...[详细]
-
在朝阳规划艺术馆数字沙盘区,巨型荧幕上显示着用地强...[详细]
-
在过去几年来,电信行业不断反思与移动互联网行业的差...[详细]