本技术涉及分布式领域,尤其涉及一种kafka的缓存调整的方法、装置、存储介质及电子设备。
背景技术:
1、kafka为一个开源流处理平台,作为一个分布式流式处理组件,kafka凭借其高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性在大数据应用中得到广泛的使用。
2、kafka作为一个消息中间件,在处理流式数据中起到了数据缓冲的作用,能够将上游的大量的流式数据接入到kafka中。但是,上游的数据流并不是固定不变,会存在数据波动,数据流负载波动会对kafka的性能造成影响,kafka的吞吐性能和消息延时与系统配置具有极强的相关性,当数据量大时原先的配置可能就无法支撑现有的数据流,导致kafka的性能降低,这时就需要去调整配置策略。
3、目前配置策略的调整往往需要人为的调整,而且这种调整都是延时调整,一般都是kafka的性能出现问题时才会考虑去调整它的配置参数,滞后于上游的数据波动,这样对于实时要求较高的系统而言会产生很大的影响,也即此时kafka流式数据处理的性能不佳,对流数据缓存处理的吞吐性能不佳。
技术实现思路
1、为了解决现有技术存在的上述技术问题,本技术提供了一种kafka的缓存调整的方法、装置、存储介质及电子设备,提升了kafka流式数据处理的性能,以及提升了对流数据缓存处理的吞吐性能。
2、第一方面,本技术提供了一种kafka的缓存调整的方法,kafka部署于集群设备,所述方法包括:获取所述集群设备的上游数据在第一预设时间段内的多个瞬时流量值;根据所述多个瞬时流量值生成时间序列;根据自回归滑动平均模型和所述时间序列预测所述上游数据在第二预设时间段内的瞬时流量值;根据所述第二预设时间段内的瞬时流量值,对所述集群设备的缓存配置参数进行调整。
3、利用本技术提供的方法,利用集群设备的上游数据的多个瞬时流量值生成时间序列,利用自回归滑动平均模型时间序列预测上游数据在第二预设时间段内的瞬时流量值,并根据该第二预设时间段内的瞬时流量值对集群设备的缓存配置参数进行调整。在上游数据的负载变大的时候可以提前预警,进而提早修改kafka的缓存配置策略,使得kafka能够一直保持较高的吞吐性能。该方法增强系统对环境的适应能力,并且不依赖于人工对配置参数进行调整,还节省了人力成本。
4、在一种可能的实现方式中,所述根据自回归滑动平均模型和所述时间序列预测所述上游数据在第二预设时间段内的瞬时流量值,具体包括:
5、根据所述自回归滑动平均模型和所述时间序列,预测得到第二预设时间段内的时间序列;
6、根据所述第二预设时间段内的时间序列,确定所述上游数据在第二预设时间段内的瞬时流量值。
7、在一种可能的实现方式中,所述根据所述第二预设时间段内的瞬时流量值,对所述集群设备的缓存配置参数进行调整,具体包括:
8、当所述第二预设时间段内的瞬时流量值的平均值大于当前的瞬时流量值时,增大所述集群设备的缓存配置参数;
9、当所述第二预设时间段内的瞬时流量值的平均值小于当前的瞬时流量值时,减小所述集群设备的缓存配置参数。
10、在一种可能的实现方式中,所述根据所述第二预设时间段内的瞬时流量值,对所述集群设备的缓存配置参数进行调整后,所述方法还包括:获取缓存配置参数调整后,所述集群设备在第三预设时间段内的数据吞吐量;根据所述第三预设时间段内的数据吞吐量调整所述集群设备的缓存配置参数。
11、在一种可能的实现方式中,所述根据所述第三预设时间段内的数据吞吐量调整所述集群设备的缓存配置参数,具体包括:当所述第三预设时间段内的数据吞吐量小于或等于所述第一时间段内的数据吞吐量时,增大所述集群设备的缓存配置参数;当所述第三预设时间段内的数据吞吐量大于所述第一时间段内的数据吞吐量时,记录调整后的缓存配置参数和所述第一预设时间段内的多个瞬时流量值的对应关系。
12、在一种可能的实现方式中,所述方法还包括:
13、获取所述集群设备的上游数据在所述第二预设时间段内的瞬时流量真实值;
14、当所述第二预设时间段内的瞬时流量值,与所述第二预设时间段内的瞬时流量真实值的差值小于预设阈值时,降低对所述集群设备的上游数据的采样频率以及缩短所述第一预设时间;否则,增大对所述集群设备的上游数据的采样频率以及增大所述第一预设时间。
15、第二方面,本技术还提供了一种kafka的缓存调整的装置,所述装置包括:获取单元、生成单元、预测单元和调整单元。所述获取单元,用于获取所述集群设备的上游数据在第一预设时间段内的多个瞬时流量值;所述生成单元,用于根据所述多个瞬时流量值生成时间序列;所述预测单元,用于根据自回归滑动平均模型和所述时间序列预测所述上游数据在第二预设时间段内的瞬时流量值;所述调整单元,用于根据所述第二预设时间段内的瞬时流量值,对所述集群设备的缓存配置参数进行调整。
16、利用该装置,提升了kafka流式数据处理的性能,以及提升了对流数据缓存处理的吞吐性能。在数据流的负载变大的时候可以提前预警,修改kafka的缓存配置策略,使得kafka能够一直保持较高的吞吐性能。并且不依赖于人工对配置参数进行调整,还节省了人力成本。
17、在一种可能的实现方式中,预测单元,具体用于根据所述自回归滑动平均模型和所述时间序列,预测得到第二预设时间段内的时间序列;根据所述第二预设时间段内的时间序列,确定所述上游数据在第二预设时间段内的瞬时流量值。
18、在一种可能的实现方式中,调整单元,具体用于当所述第二预设时间段内的瞬时流量值的平均值大于当前的瞬时流量值时,增大所述集群设备的缓存配置参数;当所述第二预设时间段内的瞬时流量值的平均值小于当前的瞬时流量值时,减小所述集群设备的缓存配置参数。
19、在一种可能的实现方式中,所述装置还包括反馈单元,所述反馈单元,具体用于获取缓存配置参数调整后,所述集群设备在第三预设时间段内的数据吞吐量;根据所述第三预设时间段内的数据吞吐量调整所述集群设备的缓存配置参数。
20、在一种可能的实现方式中,所述反馈单元,具体用于当所述第三预设时间段内的数据吞吐量小于或等于所述第一时间段内的数据吞吐量时,增大所述集群设备的缓存配置参数;当所述第三预设时间段内的数据吞吐量大于所述第一时间段内的数据吞吐量时,记录调整后的缓存配置参数和所述第一预设时间段内的多个瞬时流量值的对应关系。
21、在一种可能的实现方式中,所述装置还包括采样调节单元,所述采样调节单元,用于获取所述集群设备的上游数据在所述第二预设时间段内的瞬时流量真实值;当所述第二预设时间段内的瞬时流量值,与所述第二预设时间段内的瞬时流量真实值的差值小于预设阈值时,降低对所述集群设备的上游数据的采样频率以及缩短所述第一预设时间;否则,增大对所述集群设备的上游数据的采样频率以及增大所述第一预设时间。
22、第三方面,本技术还提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现kafka的缓存调整的方法。
23、第四方面,本技术还提供了一种电子设备,电子设备用于运行程序,其中,所述程序运行时执行kafka的缓存调整的方法。