【原创】揭秘_APIX_的高性能网关架构
2015-11-13 16:27
351 查看
APIX (www.apix.cn)作为国内领先的API数据和云服务平台, 自上线以来每天处理着海量的请求, 其中承担着保证用户持续稳定而安全获取服务重任的就是API网关.
我们先用一个简单的请求流程图来描述网关在用户调用API时所起的作用
如上图所述,用户在调用所购买的服务API时, 请求首先会到达我们的网关, 在经过一系列的验证和过滤通过后, 才会被发送到后面实际的服务, 简单来说, 请求需要经过网关的意义在于两方面, 一方面是为了保护后端服务免受垃圾和恶意请求的干扰, 从而影响正常用户的使用; 另一方面则是为了统计用户对于API的使用情况, 好为用户提供有效的数据分析服务. 既然验证和统计步骤必不可少, 那么怎么最小化网关所带来的延迟就是我们着重要在设计上要考虑的, 好在得益于“云计算语言”Go的高性能和我们灵活的网关架构设计,
这些时间上的损耗在整个过程中几乎可以忽略不计.
APIX网关的优势主要体现在两方面: 伸缩性和扩展性.
首先是伸缩性, 得益于我们自研的基于Docker的服务一键部署和管理平台(当然, 这是另外一个故事了), APIX网关能够以容器的形态运行于任何服务器硬件和公有云, 以及我们的私有云上, 从而很容易地通过增减网关实例来实现水平伸缩, 意味着我们的平台能够在处理几乎任何负载的情况下保持同样的稳定和低延迟.
其次是扩展性, APIX网关实现了一种插件化的机制, 网关的核心模块保持尽可能的小而精, 满足网关运行的基本需求, 额外的功能和需求以插件的形式来提供, 从而实现了运行中的网关可以按需动态增减所需的插件而不影响当前用户的正常使用.
如下图所示, 在网关的验证和分析中需要的功能我们都是以插件的形式来提供.
APIX 是国内领先的API数据和云服务企业。想了解更多的产品服务和技术内幕,欢迎来电和我们交流!
电话:010-56209383
北京总部:北京市西城区裕民路18号北环中心2008
我们先用一个简单的请求流程图来描述网关在用户调用API时所起的作用
如上图所述,用户在调用所购买的服务API时, 请求首先会到达我们的网关, 在经过一系列的验证和过滤通过后, 才会被发送到后面实际的服务, 简单来说, 请求需要经过网关的意义在于两方面, 一方面是为了保护后端服务免受垃圾和恶意请求的干扰, 从而影响正常用户的使用; 另一方面则是为了统计用户对于API的使用情况, 好为用户提供有效的数据分析服务. 既然验证和统计步骤必不可少, 那么怎么最小化网关所带来的延迟就是我们着重要在设计上要考虑的, 好在得益于“云计算语言”Go的高性能和我们灵活的网关架构设计,
这些时间上的损耗在整个过程中几乎可以忽略不计.
APIX网关的优势主要体现在两方面: 伸缩性和扩展性.
首先是伸缩性, 得益于我们自研的基于Docker的服务一键部署和管理平台(当然, 这是另外一个故事了), APIX网关能够以容器的形态运行于任何服务器硬件和公有云, 以及我们的私有云上, 从而很容易地通过增减网关实例来实现水平伸缩, 意味着我们的平台能够在处理几乎任何负载的情况下保持同样的稳定和低延迟.
其次是扩展性, APIX网关实现了一种插件化的机制, 网关的核心模块保持尽可能的小而精, 满足网关运行的基本需求, 额外的功能和需求以插件的形式来提供, 从而实现了运行中的网关可以按需动态增减所需的插件而不影响当前用户的正常使用.
如下图所示, 在网关的验证和分析中需要的功能我们都是以插件的形式来提供.
APIX 是国内领先的API数据和云服务企业。想了解更多的产品服务和技术内幕,欢迎来电和我们交流!
联系我们
邮箱:business@apix.cn电话:010-56209383
北京总部:北京市西城区裕民路18号北环中心2008
相关文章推荐
- 阿里云、腾讯云、UCloud、华为云云主机对比测试报告
- 简单易懂云计算(转自天涯感谢原楼主iamsatisfied)
- 2011云计算知识库:盘点千奇百怪的云名称
- MySQL中实现高性能高并发计数器方案(例如文章点击数)
- 编写高性能Javascript代码的N条建议
- 编写高性能JavaScript(译)
- 高性能WEB开发 图片压缩篇
- 高性能MySQL读书笔记 找出谁持有锁
- 写出高性能SQL语句的35条方法分析
- 编写高性能的JavaScript 脚本的加载与执行
- 基于Oracle的高性能动态SQL程序开发
- 创建高性能的 Web 页面
- 高性能JavaScript DOM编程(1)
- 3ff8 《sharepoint 2010云计算解决方案》使用SQL Azure 的BI 解决方案
- IaaS, PaaS, SaaS 解释
- 在Google使用Borg进行大规模集群的管理 3-4
- 在Google使用Borg进行大规模集群的管理 5-6
- 在Google使用Borg进行大规模集群的管理 7-8
- 高性能javascript