一种私有云中Kafka部署方法、装置及电子设备制造方法及图纸

技术编号:36080192 阅读:15 留言:0更新日期:2022-12-24 10:53
本发明专利技术公开了一种私有云中Kafka部署方法、装置及电子设备,该方法通过预设回调接口对生产消息失败的第一数据进行重新生产,所述预设回调接口与Kafka连接;然后当重新生产的次数超过预设次数阈值且消息生产失败时,将对应的第一数据保存至第二存储器中,并在预设时间周期到达时根据所述第二存储器中的第一数据重新生产消息,同时将生产成功的消息保存至Kafka中,实现了在降低私有化互联网平台的成本和资源的前提下数据不丢失,有效地提升了用户的使用体验。户的使用体验。户的使用体验。

【技术实现步骤摘要】
一种私有云中Kafka部署方法、装置及电子设备


[0001]本专利技术属于计算机
,具体涉及一种私有云中Kafka部署方法、装置及电子设备。

技术介绍

[0002]在工业企业中,为了方便对企业中设备的管理,通常会将设备接入到工业互联网平台中,而将设备接入到工业互联网平台中通常有两种方案,一是将设备直接接入到成熟的公有云平台中,另一种是为设备搭建一套私有化工业互联网平台也即私有云,公有云因其面对百万、千万级的设备量,其数据量是庞大的,因此各服务、中间件以及数据库都会采用多节点、集群化部署,以实现高可用,保证服务稳定运行以及数据的完整性,其中,最重要的是设备连接到平台后,平台会将设备的上行消息生产到Kafka中间件中,Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理设备在平台中的所有动作流数据,在生产消息的过程中可能会造成Kafka的宕机等异常情况,从而导致数据丢失,因此公有云平台会搭建Kafka集群来保证Kafka的高可用。
[0003]而在私有化工业互联网平台中,其本身设备接入量和数据量都较低,但企业要保证数据不丢失,也需要额外消耗更多的硬件资源搭建Kafka集群环境,增加了运维工作,成本较高,而部署单机版Kafka,又无法保障数据不丢失,造成数据不完成的后果。
[0004]因此,如何在降低私有化互联网平台的成本和资源的前提下,保证数据不丢失,是本领域技术人员有待解决的技术问题。

技术实现思路

[0005]本专利技术的目的是为了解决现有技术在降低私有化互联网平台的成本和资源的情况下,数据会产生丢失的技术问题。
[0006]为实现上述技术目的,一方面,本专利技术提供了一种私有云中Kafka部署方法,该方法包括:
[0007]通过预设回调接口对生产消息失败的第一数据进行重新生产,所述预设回调接口与Kafka连接;
[0008]当重新生产的次数超过预设次数阈值且消息生产失败时,将对应的第一数据保存至第二存储器中,并在预设时间周期到达时根据所述第二存储器中的第一数据重新生产消息,同时将生产成功的消息保存至Kafka中。
[0009]优选地,通过预设回调接口对生产消息失败的第一数据进行重新生产,具体为:
[0010]将所述第一数据保存至第一存储器中;
[0011]从所述第一存储器中调取所述第一数据并重新生产消息。
[0012]优选地,所述将所述第一数据保存至第一存储器中,具体包括:
[0013]在所述第一存储器中根据预设时间间隔生成队列;
[0014]将位于同一时间间隔中的第一数据根据时间顺序依次存储在对应的队列中,每个
队列均有第一键和第二键,所述第一键用于所述第一存储器监听其是否过期,若是,则根据对应队列中的第一数据依次重新生产消息,所述第二键用于保存对应队列的元数据。
[0015]优选地,所述第一存储器具体为Redis。
[0016]优选地,若在预设次数阈值内根据所述第一数据成功生产消息,则在预设时间后将该第一数据从所述第一存储器中进行删除。
[0017]另一方面,本专利技术还提供了一种私有云中Kafka部署装置,所述装置包括:
[0018]回调模块,用于通过预设回调接口对生产消息失败的第一数据进行重新生产,所述预设回调接口与Kafka连接;
[0019]第二生产模块,用于当重新生产的次数超过预设次数阈值且消息生产失败时,将对应的第一数据保存至第二存储器中,并在预设时间周期到达时根据所述第二存储器中的第一数据重新生产消息,同时将生产成功的消息保存至Kafka中。
[0020]优选地,所述回调模块具体用于:
[0021]将所述第一数据保存至第一存储器中;
[0022]从所述第一存储器中调取所述第一数据并重新生产消息。
[0023]优选地,所述回调模块具体用于:
[0024]在所述第一存储器中根据预设时间间隔生成队列,
[0025]将位于同一时间间隔中的第一数据根据时间顺序依次存储在对应的队列中,其中,每个队列均有第一键和第二键,所述第一键用于所述第一存储器监听其是否过期,若是,则根据对应队列中的第一数据依次重新生产消息,所述第二键用于保存对应队列的元数据。
[0026]优选地,所述第一存储器具体为Redis。
[0027]再一方面,本专利技术还提供了一种电子设备,包括:
[0028]处理器;
[0029]用于存储所述处理器可执行指令的第三存储器;
[0030]所述处理器被配置为用于执行如上述的方法。
[0031]本专利技术提供的一种私有云中Kafka部署方法、装置及电子设备,与现有技术相比,本方法通过预设回调接口对生产消息失败的第一数据进行重新生产,所述预设回调接口与Kafka连接;然后当重新生产的次数超过预设次数阈值且消息生产失败时,将对应的第一数据保存至第二存储器中,并在预设时间周期到达时根据所述第二存储器中的第一数据重新生产消息,同时将生产成功的消息保存至Kafka中,实现了在降低私有化互联网平台的成本和资源的前提下数据不丢失,有效地提升了用户的使用体验。
附图说明
[0032]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1所示为本说明书实施例提供的私有云中Kafka部署方法的流程示意图;
[0034]图2所示为本说明书实施例提供的私有云中Kafka部署装置的结构示意图。
具体实施方式
[0035]为了使本领域普通技术人员更好地理解本说明书中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0036]如图1所示为本说明实施例提供的私有云中Kafka部署方法的流程示意图,虽然本说明提供了如下实施例或附图中所示的方法操作步骤或装置结构,但基于常规或无需创造性劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元,在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
[0037]本说明实施例中提供的私有云中Kafka部署方法可以应用在客户端和服务器等终端设备中,如图1所示,所述方法具体包括如下步骤:...

【技术保护点】

【技术特征摘要】
1.一种私有云中Kafka部署方法,其特征在于,所述方法包括:通过预设回调接口对生产消息失败的第一数据进行重新生产,所述预设回调接口与Kafka连接;当重新生产的次数超过预设次数阈值且消息生产失败时,将对应的第一数据保存至第二存储器中,并在预设时间周期到达时根据所述第二存储器中的第一数据重新生产消息,同时将生产成功的消息保存至Kafka中。2.如权利要求1所述的私有云中Kafka部署方法,其特征在于,通过预设回调接口对生产消息失败的第一数据进行重新生产,具体为:将所述第一数据保存至第一存储器中;从所述第一存储器中调取所述第一数据并重新生产消息。3.如权利要求2所述的私有云中Kafka部署方法,其特征在于,所述将所述第一数据保存至第一存储器中,具体包括:在所述第一存储器中根据预设时间间隔生成队列;将位于同一时间间隔中的第一数据根据时间顺序依次存储在对应的队列中,每个队列均有第一键和第二键,所述第一键用于所述第一存储器监听其是否过期,若是,则根据对应队列中的第一数据依次重新生产消息,所述第二键用于保存对应队列的元数据。4.如权利要求2所述的私有云中Kafka部署方法,其特征在于,所述第一存储器具体为Redis。5.如权利要求2所述的私有云中Kafka部署方法,其特征在于,若在预设次数阈值内根据所述第一数据成功生产消息,则在预设时间后将该第一数据从所述第一存储器中进行删除。6....

【专利技术属性】
技术研发人员:李靖宇何渝君王翔舒忠玲
申请(专利权)人:瀚云科技有限公司
类型:发明
国别省市:

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

1