API网关设计与实现(一)


 

原文链接:https://blog.csdn.net/yangding_/article/details/63253164

 

API网关使用场景
API网关技术选型与应用架构
API网关使用场景

在使用微服务架构场景下,客户端在调用后台微服务时,都需要进行登陆认证、权限认证、流量控制、负载均衡、健康检查等操作,这些操作是调用每一个微服务都必须。因此需要将该操作交给一个高性能的中间层进行处理,以降低系统间的耦合,并使微服务更加专注于业务逻辑处理,降低整体系统的响应时间。

 

如图,来自各种终端的请求经过一层负载均衡后到达网关,网关统一做登陆认证、权限认证、流量控制、负载均衡、健康检查等操作后,再将请求转发到后台微服务。

API网关技术选型与应用架构
API网关作为后台微服务请求的入口,必然要求其具有高性能的特点,为了使其可以按照自己的使用场景定制开发,对其易扩展性也要求很高,并且最好是有成熟的产品与规范的文档以及活跃的社区支持。OpenResty自然成为了首选!OpenResty是一款基于Ngnix的利用lua语言作为扩展的API网关技术。

 

 

 

上图为利用Openresty作为API网关的一种微服务架构图。如图所示:

Openresty启动时会先去redis集群中获取最新的服务地址与配置信息,并且进行消息订阅(即对某一端口进行监听);

后台微服务都会在ZK中进行注册,Gateway微服务会对ZK内的信息进行处理后存入redis集群中,并实时监听ZK的地址变动情况,redis集群中有了服务的地址就可以将地址推送给Openresty做负载均衡;

OS web平台提供一个web界面用于方便的进行流量控制与权限控制的设置;
————————————————
版权声明:本文为CSDN博主「Devin__Yang」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yangding_/article/details/63253164


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM