一种微服务中API调用统计和监控的方法技术

技术编号:13310241 阅读:432 留言:0更新日期:2016-07-10 10:25
本发明专利技术涉及一种微服务中API调用统计和监控的方法,包括以下步骤:每台微服务服务器各自记录每一次的被调用的调用记录,并把调用记录记录到临时内存容器中;微服务服务器按固定时间周期启动服务器定时器,当服务器定时器执行时,计算当前所述内存容器中的所有的调用记录,对调用次数和调用时间进行累加,得到累加记录;微服务服务器将所述累加记录写入到总数据库中,写入到总数据库的累加记录会增加一个微服务服务器地址,得到数据源记录;总数据库存储所述数据源记录。本发明专利技术实现可调节时间,实时记录调用信息并以日志统计,从而实现监控所有数据模块,帮助预警、优化、增加硬件或减少服务器数量,多级整理数据源数据,不会造成导致服务器崩溃。

【技术实现步骤摘要】

本专利技术涉及计算机领域,具体涉及一种微服务中API调用统计和监控的方法
技术介绍
现有的框架分布式SOA对性能要求很高,监控部分要求记录数据业务量,每天记录高达上亿次调用记录,传统的集中式统计会经常导致服务器崩溃。传统的微服务的API统计监控有以下2大问题:1、服务器分布广泛,很难实现集中式管理2、调用频率量(调用形成的数据量)庞大,传统的方式计算和存储是直接累加并存储在一张总表上,难以实现实时监控。
技术实现思路
本专利技术的目的是提供一种微服务中API调用统计和监控的方法,实现可调节时间,实时记录调用信息并以日志统计,从而实现监控所有数据模块,帮助预警、优化、增加硬件或减少服务器数量,按照服务器、类名称、方法名称、调用次数、执行时间、平均执行时间、时段与日期任意组合实现各种统计,并且在此基础上扫描调用次数最多和平均执行时间最长的那些类名称以及方法名称,如果超出阀值,便以邮件的方式通知相关人员,以便做进一步处理。本专利技术的目的是通过以下技术方案来实现:一种微服务中API调用统计和监控的方法,包括以下步骤:每台微服务服务器各自记录每一次的被调用的调用记录,并把所述调用记录记录到临时内存容器中。所述微服务服务器按固定时间周期启动服务器定时器,当所述服务器定时器执行时,计算当前所述内存容器中的所有的调用记录,其计算方式为:对调用次数和调用时间进行累加,得到累加记录。<br>所述微服务服务器将所述累加记录写入到总数据库中,写入到总数据库的所述累加记录会增加一个微服务服务器地址,得到数据源记录。所述总数据库存储所述数据源记录。进一步的,所述总数据库存储所述数据源记录包括以下步骤:所述总数据库按所述固定时间周期读取所述数据源记录,并把所述数据源记录的记录内容考入临时数据源表中,清空所述数据源记录。并将所述临时数据源表的数据导入到数据源总表中,清空所述临时数据源表。进一步的,所述总数据库每隔一个小时会把该小时内的数据源总表导入到时数据源表中。进一步的,所述总数据库按1天为周期生成日期表,把前一天周期内所有的时数据源表的各个数据累加后,导入到日数据源表中。进一步的,所述调用记录包括包括类名称、方法名称与执行时间。进一步的,所述计算方式为:当所述类名称与方法名称都相同的情况下才能进行对所述调用次数和调用时间的累加。进一步的,所述微服务服务器将所述累加记录写入到总数据库中后,所述微服务服务器清空所述临时内存容器内存储的调用记录。进一步的,所述数据源记录包括服务器地址、类名称、方法名称、调用次数与总共调用时间。进一步的,所述固定时间周期的默认值为1分钟。本专利技术的有益效果为:本专利技术实现数据分类后导入至多个不同的微服务中,并且都独享自己的专属总数据库,如果客户端需要用户数据,那么只需调用会员的的微服务接口,来获取会员数据,调用产品的微服务接口,来获取产品的数据,而这两个微服务各自独立,不会相互影响,完全做到了企业级框架的松耦合。本专利技术实现可调节时间,实时记录调用信息并以日志统计,从而实现监控所有数据模块,帮助预警、优化、增加硬件或减少服务器数量,按照服务器、类名称、方法名称、调用次数、执行时间、平均执行时间、时段与日期任意组合实现各种统计,并且在此基础上扫描调用次数最多和平均执行时间最长的那些类名称以及方法名称,如果超出阀值,便以邮件的方式通知相关人员,以便做进一步处理。附图说明下面根据附图对本专利技术作进一步详细说明。图1是本专利技术实施例所述一种微服务中API调用统计和监控的方法的方法流程图。具体实施方式如图1所示,本专利技术实施例所述的一种微服务中API调用统计和监控的方法,包括以下步骤:每台微服务服务器各自记录每一次的被调用的调用记录,并把所述调用记录记录到临时内存容器中。所述微服务服务器按固定时间周期(默认时间为1分钟)启动服务器定时器,当所述服务器定时器执行时,计算当前时间内所述内存容器中的所有的调用记录,所述调用记录包括类名称、方法名称与执行时间,其计算方式为:当所述类名称与方法名称都相同的情况下才能进行对所述调用次数和调用时间的累加,得到累加记录,例如:一条为类名称是C,方法名是F的调用记录,其执行时间为2毫秒,另一条为类名称是C,方法名是F的调用记录,其执行时间为3毫秒,在该时段内执行,其调用记录会合并成类名称是C,方法名称是F的调用记录,其调用次数为2次且调用时间为5毫秒。所述调用记录与累加记录均已表格的形式呈现。所述微服务服务器将所述累加记录写入到总数据库中,写入到总数据库的所述累加记录会增加一个微服务服务器地址,得到数据源记录,所述数据源记录包括服务器地址、类名称、方法名称、调用次数与总共调用时间,所述微服务服务器清空所述临时内存容器内存储的调用记录,以便再次执行下一次循环。所述总数据库按所述固定时间周期(默认值为1分钟)读取所述数据源记录,并把所述数据源记录的记录内容考入临时数据源表中,清空所述数据源记录,以便再次执行下一次循环。所述总数据库将所述临时数据源表的数据导入到数据源总表中,清空所述临时数据源表,以便再次执行下一次循环。所述总数据库每隔一个小时会把该小时内的数据源总表中的各个数据累加后导入到时数据源表中。所述总数据库按1天为周期生成日期表,把前一天周期内所有的时数据源表的各个数据累加后,导入到日数据源表中。本专利技术不局限于上述最佳实施方式,任何人在本专利技术的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
一种微服务中API调用统计和监控的方法,其特征在于,包括以下步骤:每台微服务服务器各自记录每一次的被调用的调用记录,并把所述调用记录记录到临时内存容器中;所述微服务服务器按固定时间周期启动服务器定时器,当所述服务器定时器执行时,计算当前所述内存容器中的所有的调用记录,其计算方式为:对调用次数和调用时间进行累加,得到累加记录;所述微服务服务器将所述累加记录写入到总数据库中,写入到总数据库的所述累加记录会增加一个微服务服务器地址,得到数据源记录;所述总数据库存储所述数据源记录。

【技术特征摘要】
1.一种微服务中API调用统计和监控的方法,其特征在于,包括以下步骤:
每台微服务服务器各自记录每一次的被调用的调用记录,并把所述调用记
录记录到临时内存容器中;
所述微服务服务器按固定时间周期启动服务器定时器,当所述服务器定时
器执行时,计算当前所述内存容器中的所有的调用记录,其计算方式为:对调
用次数和调用时间进行累加,得到累加记录;
所述微服务服务器将所述累加记录写入到总数据库中,写入到总数据库的
所述累加记录会增加一个微服务服务器地址,得到数据源记录;
所述总数据库存储所述数据源记录。
2.根据权利要求1所述的微服务中API调用统计和监控的方法,其特征在
于,所述总数据库存储所述数据源记录包括以下步骤:
所述总数据库按所述固定时间周期读取所述数据源记录,并把所述数据源
记录的记录内容考入临时数据源表中,清空所述数据源记录;
并将所述临时数据源表的数据导入到数据源总表中,清空所述临时数据源
表。
3.根据权利要求1所述的微服务中API调用统计和监控的方法,其特征在
于:所述总数据库每隔一个小时会把该小时内的数据源总表导入到时...

【专利技术属性】
技术研发人员:张元达
申请(专利权)人:北京铭万智达科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1