美团点评API网关系统网关核心模块的设计与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:mnbvc1c2c3
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着微服务架构的兴起和微服务框架的发展,目前很多公司的绝大部分业务都已经实现了服务化,且这些业务都接入了支持统一协议的框架。为了保证系统的安全性,这些内部服务往往不会直接对外提供服务。通常的解决方案是为每一个应用,在App、浏览器和内部服务之间开发一个业务专用网关,将外部请求转发到内部服务,同时在网关实现鉴权、限流等功能。在业务众多的情况下,公司内部容易存在多个发挥相同作用的网关应用。这些网关应用的维护与开发导致了工作低效、内容冗余等问题。因此,本文设计了一个通用的API网关系统对所有API进行统一的配置管理,来替代公司内部的多个业务网关。API网关系统考虑各种业务场景,支持用户按需接入系统提供的公共组件,如安全认证、流量管控等;该系统支持用户使用可视化界面配置API信息,提供全托管的API网关服务;此外,该系统通过协议转换的方式将外部HTTP请求转发到后端RPC服务,扩宽服务应用场景。API网关系统由网关核心模块和API管理模块组成,本文中重点描述了网关核心模块。API网关核心模块统一提供鉴权、限流、熔断等非业务功能,减小其他用户开发难度;该模块设计了灵活的扩展机制,提供用户按需接入组件能力,并且支持用户接入自定义组件完成特定业务需求;并且集中管理API资源,无需业务单独申请域名、机器等资源,提升资源利用率。网关核心模块采用Jetty9和Servlet3组合的框架结构,旨在进行轻量化,模块化的开发;使用全异步化的方式处理请求,并设计快慢线程池和独立线程池,隔离API请求之间的影响,提供高性能的网关服务;网关核心模块项目划分集群部署,避免不同业务相互影响,提高后端服务稳定性。本文描述了一个通过配置方式对外提供接口的API网关系统中网关核心模块的设计与实现。该系统经过多次迭代,目前已经开发完成2.0版本,并在实际中投入使用。它起到了减少新业务网关开发工作量的作用,也为旧业务提供了更好的网关解决方案。
其他文献
为提高系统的可用性,在Windows内核中加入冗余路径驱动程序实现路径容错功能.在Windows环境下构造了虚拟总线及虚拟磁盘设备,使路径故障后虚拟设备不会被删除,保障了上层应用
为了解决脉冲发动机喷管喉衬曾出现过从其喷管座中打出的故障问题,利用MSC Patran 2004r2有限元软件对脉冲发动机喷管喉衬进行了强度分析.选用了三角形轴对称单元,用PCL语言
以“成兰铁路阿坝松潘牵引站供电工程”500kV的SZC4直线塔为研究对象,利用ANSYS有限元分析软件建立了1个平腿、2个常规高低腿和2个加过渡段高低腿输电塔空间有限元模型,采用
为快速提高相关反馈算法的效率,提出一种记忆与半监督相结合的主动相关反馈算法.在检索初期,利用记忆信息获得较多的正训练样本,利用用户已标记样本与数据库内未标记样本有效地解
研究了粗纱机前罗拉扭振产生的原因及特点,总结其在波谱图上的体现,从而可以对质量缺陷做出正确判断,并采取相关措施使产品质量得以保证。
农村电商的发展在助推脱贫攻坚和乡村振兴上发挥着重要的作用。然而,农村电商双创人才数量的极度匮乏严重制约了农村电商的快速发展。因此,地方高职院校应尽快培养农村电商双