API网关设计与实现(一)

来源:互联网 发布:数字图像处理知乎 编辑:程序博客网 时间:2024/05/01 08:49

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

API网关使用场景

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

这里写图片描述

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

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

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

这里写图片描述

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

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

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

OS web平台提供一个web界面用于方便的进行流量控制与权限控制的设置;

15 0
原创粉丝点击