一种分布式系统的流量监控方法及装置制造方法及图纸

技术编号:36180709 阅读:12 留言:0更新日期:2022-12-31 20:37
本发明专利技术公开了一种分布式系统的流量监控方法及装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取服务调用请求;根据所述服务调用请求的请求标识,递增存储节点中与所述服务调用请求对应的调用次数;其中,所述存储节点嵌入在所述分布式系统的应用程序中,所述存储节点中存储有一个或多个请求标识分别对应的调用次数;根据所述调用次数是否满足流量管控条件,对所述服务调用请求进行处理。该实施方式降低了运维部署成本,并提高了监控集群的稳定性。集群的稳定性。集群的稳定性。

【技术实现步骤摘要】
一种分布式系统的流量监控方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种分布式系统的流量监控方法及装置。

技术介绍

[0002]目前,分布式系统的流量监控方式一般包括以下两种:一是基于Redis实现限流防刷,例如通过Redis记录服务调用量,若一定时间内服务调用量超过阈值,则拒绝请求;二是基于MQ或DB等中间件实现api调用信息等数据的监控。
[0003]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0004]以上两种方式都需要相应部署监控集群,增加了运维部署成本,浪费系统资源。并且,基于Redis时表锁或行锁会增加不稳定因素,降低系统吞吐量;基于中间件的方式中,中间件的不稳定或故障也会影响监控集群的稳定性。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种分布式系统的流量监控方法及装置,通过嵌入在分布式系统的应用程序中的存储节点记录各个请求标识对应的调用次数,在接收到服务调用请求后,相应递增存储节点中的调用次数,并根据调用次数是否满足流量管控条件,对所述服务调用请求进行处理。由此无需额外部署监控集群即可实现分布式系统的流量监控,降低了运维部署成本;并且避免了Redis方式中由表锁或行锁引起的不稳定因素,提高了系统吞吐量和集群稳定性;另外也避免了中间件不稳定的风险,提高了监控集群的稳定性。
[0006]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种分布式系统的流量监控方法。
[0007]本专利技术实施例的一种分布式系统的流量监控方法包括:获取服务调用请求;
[0008]根据所述服务调用请求的请求标识,递增存储节点中与所述服务调用请求对应的调用次数;其中,所述存储节点嵌入在所述分布式系统的应用程序中,所述存储节点中存储有一个或多个请求标识分别对应的调用次数;
[0009]根据所述调用次数是否满足流量管控条件,对所述服务调用请求进行处理。
[0010]可选地,所述应用程序对应于所述分布式系统中的多个应用节点,每个所述应用节点嵌入有所述存储节点;
[0011]在递增任一个所述存储节点中与所述服务调用请求对应的调用次数之后,还包括:
[0012]对所述多个应用节点分别对应的存储节点上的调用次数进行同步。
[0013]可选地,所述存储节点中还存储有每个调用次数对应统计条件;所述根据所述服务调用请求的请求标识,递增存储节点中与所述服务调用请求对应的调用次数,包括:
[0014]根据所述请求标识,递增所述存储节点中所述统计条件为预设时长对应的调用次数;
[0015]根据所述调用次数是否满足流量管控条件,对所述服务调用请求进行处理,包括:
[0016]确定所述预设时长对应的调用次数是否大于所述流量管控条件指示的流量阈值;
[0017]如果是,确定所述调用次数满足所述流量管控条件,并拒绝所述服务调用请求。
[0018]可选地,该方法还包括:
[0019]从所述服务调用请求中解析出用户标识和调用服务标识,根据所述用户标识和所述调用服务标识确定所述请求标识;
[0020]在所述预设时长对应的调用次数不大于所述流量阈值的情况下,还包括:
[0021]根据所述调用服务标识对目标服务进行调用,并递增所述存储节点中所述统计条件为处理成功对应的调用次数。
[0022]可选地,所述递增存储节点中与所述服务调用请求对应的调用次数,包括:
[0023]利用线程安全的方式对所述调用次数进行自增操作。
[0024]可选地,该方法还包括:
[0025]按照预设周期,利用所述分布式系统中的节点从所述存储节点中获取分布式锁;
[0026]利用获得所述分布式锁的节点对所述存储节点中的数据进行持久化操作。
[0027]可选地,所述存储节点基于Hazelcast框架部署。
[0028]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种分布式系统的流量监控装置。
[0029]本专利技术实施例的一种分布式系统的流量监控装置包括:请求获取模块、次数处理模块和请求处理模块;其中,
[0030]所述请求获取模块,用于获取服务调用请求;
[0031]所述次数处理模块,用于根据所述服务调用请求的请求标识,递增存储节点中与所述服务调用请求对应的调用次数;其中,所述存储节点嵌入在所述分布式系统的应用程序中;
[0032]所述请求处理模块,用于根据所述调用次数是否满足流量管控条件,对所述服务调用请求进行处理。
[0033]为实现上述目的,根据本专利技术实施例的又一方面,提供了一种分布式系统中的流量监控装置。
[0034]本专利技术实施例的一种分布式系统中的流量监控装置包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的一种分布式系统中的流量监控方法。
[0035]为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读存储介质。
[0036]本专利技术实施例的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的一种分布式系统中的流量监控方法。
[0037]上述专利技术中的一个实施例具有如下优点或有益效果:通过嵌入在分布式系统的应用程序中的存储节点记录各个请求标识对应的调用次数,在接收到服务调用请求后,相应递增存储节点中的调用次数,并根据调用次数是否满足流量管控条件,对所述服务调用请求进行处理。由此无需额外部署监控集群即可实现分布式系统的流量监控,降低了运维部署成本;并且避免了Redis方式中由表锁或行锁引起的不稳定因素,提高了系统吞吐量和集
群稳定性;另外也避免了中间件不稳定的风险,提高了监控集群的稳定性。
[0038]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0039]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:
[0040]图1是根据本专利技术实施例的一种分布式系统的流量监控方法的主要步骤的示意图;
[0041]图2是根据本专利技术实施例的一种分布式系统的架构图;
[0042]图3是根据本专利技术实施例的一种分布式系统的流量监控装置的功能架构示意图;
[0043]图4是根据本专利技术实施例的一种分布式系统的流量监控装置的主要模块的示意图;
[0044]图5是本专利技术实施例可以应用于其中的示例性系统架构图;
[0045]图6是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
[0046]以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式系统的流量监控方法,其特征在于,包括:获取服务调用请求;根据所述服务调用请求的请求标识,递增存储节点中与所述服务调用请求对应的调用次数;其中,所述存储节点嵌入在所述分布式系统的应用程序中,所述存储节点中存储有一个或多个请求标识分别对应的调用次数;根据所述调用次数是否满足流量管控条件,对所述服务调用请求进行处理。2.根据权利要求1所述的方法,其特征在于,所述应用程序对应于所述分布式系统中的多个应用节点,每个所述应用节点嵌入有所述存储节点;在递增任一个所述存储节点中与所述服务调用请求对应的调用次数之后,还包括:对所述多个应用节点分别对应的存储节点上的调用次数进行同步。3.根据权利要求1所述的方法,其特征在于,所述存储节点中还存储有每个调用次数对应统计条件;所述根据所述服务调用请求的请求标识,递增存储节点中与所述服务调用请求对应的调用次数,包括:根据所述请求标识,递增所述存储节点中所述统计条件为预设时长对应的调用次数;根据所述调用次数是否满足流量管控条件,对所述服务调用请求进行处理,包括:确定所述预设时长对应的调用次数是否大于所述流量管控条件指示的流量阈值;如果是,确定所述调用次数满足所述流量管控条件,并拒绝所述服务调用请求。4.根据权利要求3所述的方法,其特征在于,还包括:从所述服务调用请求中解析出用户标识和调用服务标识,根据所述用户标识和所述调用服务标识确定所述请求标识;在所述预设时长对应的调用次数不大于所述流量阈值的情况下,还包括:根据所述调用服务标识对目标服...

【专利技术属性】
技术研发人员:刘京晖吴伟隋远
申请(专利权)人:京东城市北京数字科技有限公司
类型:发明
国别省市:

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

1