一种服务器中服务依赖线程池调整方法及系统技术方案

技术编号:42565537 阅读:27 留言:0更新日期:2024-08-29 00:33
本发明专利技术提供了一种服务器中服务依赖线程池调整方法及系统,在程序编码阶段,在xml文件中标识web应用调用的远程服务级别,在程序运行中,计算得到每个线程占用的资源平均值r<subgt;average</subgt;;获取远程服务瞬时调用频率f和平均调用频率f<subgt;average</subgt;,并实时采集服务器的剩余的资源信息r<subgt;remainder</subgt;,所述资源信息包括CPU资源信息、内存资源信息、网络带宽资源信息;每隔预设时间,根据所述级别s、远程服务瞬时调用频率f、平均调用频率f<subgt;average</subgt;以及每个线程占用的资源平均值r<subgt;average</subgt;、实时采集的服务器的剩余资源信息r<subgt;remainder</subgt;,确定远程服务的线程池的大小。本发明专利技术解决了在使用Hystrix过程中,只能手动设置线程池大小,而不能动态调整的问题。

【技术实现步骤摘要】

本申请涉及服务依赖,尤其是涉及服务器中服务依赖线程池调整。


技术介绍

1、微服务最初由peter rodgers于2005年提出,james lewis和martin fowler在2014年发表的文章,详细阐述了微服务,推动了微服务的发展。所谓微服务也即小而自治的服务,服务之间相互调用、相互配合,为用户提供特定的服务。微服务具有高内聚、低耦合的特点,微服务之间的相互调用,也即微服务依赖是指服务之间相互依赖,例如服务a依赖服务b,也即服务a会调用服务b,对服务b的调用结果会返回给服务a,以让服务a完成服务。服务依赖是高内聚、低耦合发展的必然结果。

2、服务调用、服务依赖虽然解决了重复造轮子的问题,但是由于很多服务调用一个微服务,如果一个被调用的服务崩溃,则上游调用该服务的所有服务都会挂起、甚至崩溃,一种比较典型的场景是雪崩,服务雪崩是因服务提供者提供的服务不可用,导致不可用逐级放大的现象。造成雪崩的原因有多种,例如硬件故障、程序bug、缓存击穿等,同时,为了防止雪崩,可以采用多种工具,实现例如流量控制、服务降级等功能。hystrix是一个开源的本文档来自技高网...

【技术保护点】

1.一种服务器中服务依赖线程池调整方法,其特征在于,所述方法包括以下步骤:

2.如权利要求1所述的方法,其特征在于,所述S3还包括,分别计算将服务器剩余资源和资源平均值比值最小的资源带入公式(1),根据公式(1)得到调整后的线程数n,所述公式(1)为:

3.如权利要求1或2所述的方法,其特征在于,所述S3还包括,在冷启动阶段,设置所有远程调用的线程池大小为1或2。

4.如权利要求1或2所述的方法,其特征在于,所述S3还包括,判断确定的远程服务的线程池的大小与原远程服务线程池的大小的关系,如果相等,则不对线程池调整;如果大于,则向线程池添加新的线程;如果...

【技术特征摘要】

1.一种服务器中服务依赖线程池调整方法,其特征在于,所述方法包括以下步骤:

2.如权利要求1所述的方法,其特征在于,所述s3还包括,分别计算将服务器剩余资源和资源平均值比值最小的资源带入公式(1),根据公式(1)得到调整后的线程数n,所述公式(1)为:

3.如权利要求1或2所述的方法,其特征在于,所述s3还包括,在冷启动阶段,设置所有远程调用的线程池大小为1或2。

4.如权利要求1或2所述的方法,其特征在于,所述s3还包括,判断确定的远程服务的线程池的大小与原远程服务线程池的大小的关系,如果相等,则不对线程池调整;如果大于,则向线程池添加新的线程;如果小于,当线程池中存在空闲线程时,将空闲线程从线程池中移除。

5.如权利要求1所述的方法,其特征在于,所述s2还包括:在程序运行中,将xml文件上传到提供远程服务的服务器,服务器根据收集的xml文件信息以及平均调用频率向提供远程服务的程序分配资源。

6.一种服务器中服务依赖线程池调...

【专利技术属性】
技术研发人员:李小龙
申请(专利权)人:合肥瑞弘嘉信息技术有限公司
类型:发明
国别省市:

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

1