CN111092954B - 一种生成微服务的方法和装置及电子设备 - Google Patents
一种生成微服务的方法和装置及电子设备 Download PDFInfo
- Publication number
- CN111092954B CN111092954B CN201911348429.9A CN201911348429A CN111092954B CN 111092954 B CN111092954 B CN 111092954B CN 201911348429 A CN201911348429 A CN 201911348429A CN 111092954 B CN111092954 B CN 111092954B
- Authority
- CN
- China
- Prior art keywords
- subscription
- cloud platform
- virtual machine
- platform virtual
- micro service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Abstract
本发明公开了一种生成微服务的方法和装置及电子设备,该方法包括以下步骤:针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容。打包所述个性化服务内容,得到微服务包,并将所述微服务包分配到多个云平台虚拟机,其中,所述多个云平台虚拟机中的一台作为所述微服务包的主云平台虚拟机,用于处理所述微服务包,所述多个云平台虚拟机中的其他至少一个云平台虚拟机作为所述微服务包的备云平台虚拟机,用于备份所述微服务包。根据所述微服务包生成订阅推送任务,部署启动和安装所述订阅推送任务,并执行所述订阅推送任务。本发明公开的方法解决了单机服务内存溢出和多线程集群服务容易导致雪崩的问题。
Description
技术领域
本发明涉及物联网通信技术领域,具体涉及一种生成微服务的方法和装置及电子设备。
背景技术
在万物互联的时代,物联网应运而生,在物联网汇聚共享系统中,面对用户的个性化需求,系统要做到灵活部署和快速化适应的能力随之提高。
在服务订阅场景下,北向的一个推送任务可能订阅了南向所有的行业数据,南向每秒上报几万条的数据,相应的北向推送任务可能会产生每秒几百万条数据,而北向会有不同职能单位创建的不同订阅平台,需要的数据也不尽相同,导致北向的推送服务需要消耗较大的内存。
因此,使用单机版微服务容易导致内存溢出,现网验证效果不乐观。但当使用并发集群式微服务时,如果有一个订阅平台接收方的网络出现问题或平台接收不了服务,物联网汇聚共享系统推送进程就会开始等待,而推送进程的长时间等待,会导致雪崩现象。由此可知,单机版微服务和并发集群式微服务都不能保证系统的稳定性和高可用性,因此需要提供一种能保证系统的稳定性和高可用性的生成微服务的方法。
发明内容
有鉴于此,本发明实施例提供了一种生成微服务的方法和装置及电子设备,以解决单机服务内存溢出和多线程集群服务容易引起雪崩的问题。
第一方面,本发明的实施例提供了一种生成微服务的方法,包括以下步骤:针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容;打包个性化服务内容,得到微服务包;将微服务包分配到多个云平台虚拟机,其中,多个云平台虚拟机中的一台作为微服务包的主云平台虚拟机,用于处理微服务包,多个云平台虚拟机中的其他至少一个云平台虚拟机作为微服务包的至少一个备云平台虚拟机,用于备份微服务包;根据所述微服务包生成订阅推送任务;部署启动和安装所述订阅推送任务;执行所述订阅推送任务。
在本发明某些实施例中,至少一个订阅平台包括多个订阅平台;至少一个备云平台虚拟机中每个备云平台虚拟机在备份微服务包的同时,还作为多个订阅平台中的另一订阅平台的微服务包的主云平台虚拟机。
在本发明某些实施例中,针对至少一个订阅平台,创建个性化服务内容之前,还包括:接收订阅请求;根据所述订阅请求创建所述订阅平台。
在本发明某些实施例中,针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容,包括:调取订阅平台所需服务的相关信息;从基础容器包读取通用服务模板;根据所述订阅平台所需服务的相关信息,通过所述通用服务模板创建所述个性化服务内容。
在本发明某些实施例中,执行订阅推送任务,包括:消费线程监听消息;判断所述消息是否要发送;若是,将消息发送给推送线程,推送线程针对订阅平台调取发送消息所需数据;若否,丢弃消息。
在本发明某些实施例中,在执行所述订阅推送任务之后,还包括:将执行订阅推送任务后服务的运行状态返回集群内存数据库。
在本发明某些实施例中,还包括:实时监控多个微服务包和多个订阅推送任务的生成过程和运行状态。
第二方面,本发明实施例提供了一种生成微服务的装置,包括:获取模块,用于获取订阅请求;创建模块,用于根据订阅请求创建订阅平台,并根据订阅平台创建个性化服务内容;打包部署模块,用于打包个性化服务内容,得到微服务包,将微服务包分配到多个云平台虚拟机,生成订阅推送任务;推送任务模块,用于执行订阅推送任务;监控模块,用于监控多个微服务包和多个订阅推送任务的生成过程和运行状态。
第三方面,本发明实施例提供了一种生成微服务的设备,包括:存储器,包括:集群内存数据库;处理器;计算机程序,计算机程序存储在存储器中,并被配置为由处理器执行以实现如第一方面任一所述的生成微服务的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现第一方面任一项所述的生成微服务的方法。
基于本发明实施例,通过针对订阅平台,创建个性化服务内容,打包所述个性化服务内容得到微服务包,将所述微服务包分配到多个云平台虚拟机,根据微服务包生成订阅推送任务,部署启动和安装订阅推送任务,并执行订阅推送任务,实现了快速稳定的生成微服务,解决了单机服务内存溢出和多线程集群服务容易引起雪崩的问题。另外,通过将针对订阅平台生成的个性化服务内容打包得到的微服务包,分配给主云平台虚拟机和备份云平台虚拟机,由主云平台虚拟机处理所述微服务包,并由备云平台虚拟机在主云平台虚拟机故障时,代替主云平台虚拟机工作,实现了任务处理的高效性,保障了订阅推送任务的顺利进行。
附图说明
图1所示为本发明一实施例提供的一种生成微服务的方法的示意性流程图。
图2所示为本发明一实施例提供的执行订阅推送任务的示意性流程图。
图3所示为本发明又一实施例提供的一种生成微服务的方法的示意性流程图。
图4所示为本发明另一实施例提供的一种生成微服务的装置结构示意图。
图5所示为本发明另一实施例提供的一种生成微服务的设备结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
微服务是将应用程序拆分为多个服务的一种架构类型,这些服务具备构成整个应用程序的细粒度功能。每个微服务将具备针对应用程序的不同逻辑功能。
在服务订阅场景下,可以针对一个订阅请求创建多个订阅平台,并且所创建的多个订阅平台所执行的任务都相同,即只有一个为主要执行的任务的订阅平台,其余的相当于起备份作用的订阅平台。或者多个订阅平台合作执行任务,其中,每个订阅平台执行任务的一部分。这样,一个订阅请求将占用几个订阅平台,浪费了内存,容易造成内存溢出。
图1所示为本发明一实施例提供的一种生成微服务的方法的示意性流程图。该方法例如可以由一台或多台服务器执行,本实施例对服务器台数不做限定。如图1所示,本发明公开了一种生成微服务的方法,包括如下内容。
110:针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容。
具体地,对于某个订阅平台,可以通过通用服务模板读取集群内存数据库,创建个性化服务内容。
120:打包个性化服务内容,得到微服务包。
具体地,一个个性化服务内容包含多条数据,所谓的打包,就是将一个个性化服务中的多条数据进行整合使之成为一个整体,即一个个性化服务内容为一个微服务包。
130:将微服务包分配到多个云平台虚拟机,其中,多个云平台虚拟机中的一台作为微服务包的主云平台虚拟机,用于处理微服务包,多个云平台虚拟机中的其他至少一个云平台虚拟机作为微服务包的至少一个备云平台虚拟机,用于备份微服务包。
具体地,一个云平台虚拟机可以既是一个微服务包的主云平台虚拟机,又是另一个微服务包的备云平台虚拟机。如果一个主云平台虚拟机损坏,则会被至少一个备云平台虚拟机中的一台备云平台虚拟机替代。
例如,第一云平台虚拟机作为第一微服务包的主云平台虚拟机,用于处理第一微服务包,同时又是第二微服务包的备云平台虚拟机,用于备份第二微服务包。而第一微服务包也同时有第二云平台虚拟机、第三云平台虚拟机、第四云平台虚拟机、......、第N云平台虚拟机中的至少一台作为备云平台虚拟机。如果第一微服务包的主云平台虚拟机损坏,则会被第一微服务包的至少一个备云平台虚拟机中的一个备云平台虚拟机替代。
140:根据微服务包生成订阅推送任务。
具体地,针对每一个微服务包,创建一个订阅推送任务,用于执行订阅推送任务。
150:部署启动和安装订阅推送任务。
具体地,调取执行订阅推送任务所需数据,例如,推送的数据格式和发送地址。启动和安装订阅推送任务,为执行订阅推送任务做准备。
160:执行订阅推送任务。
基于本发明实施例,通过针对订阅平台,创建个性化服务内容,打包所述个性化服务内容得到微服务包,将所述微服务包分配到多个云平台虚拟机,根据微服务包生成订阅推送任务,部署启动和安装订阅推送任务,并执行订阅推送任务,实现了快速稳定的生成微服务,解决了单机服务内存溢出和多线程集群服务容易引起雪崩的问题。另外,通过将针对订阅平台生成的个性化服务内容打包得到的微服务包,分配给主云平台虚拟机和备份云平台虚拟机,由主云平台虚拟机处理所述微服务包,并由备云平台虚拟机在主云平台虚拟机故障时,代替主云平台虚拟机工作,实现了任务处理的高效性,保障了订阅推送任务的顺利进行。
根据本发明的实施例,所述至少一个订阅平台包括多个订阅平台;所述至少一个备云平台虚拟机中每个备云平台虚拟机在备份所述微服务包的同时,还作为所述多个订阅平台中的另一订阅平台的微服务包的主云平台虚拟机。如果主云平台虚拟机损坏,则会被至少一个备云平台虚拟机中的一台备云平台虚拟机替代,从而保证了运行为服务的稳定性。这样,充分利用了云平台虚拟机的性能,实现了任务处理的高效性。
可选地,作为另一实施例,图1的方法还包括:将微服务包分配到多个云平台虚拟机后,将分配信息储存在集群内存数据库,用于当主云平台虚拟机损坏时,调取分配信息,确定所有备云平台虚拟机。
例如,第一微服务包被分配到第一云平台虚拟机、第二云平台虚拟机、第三云平台虚拟机和第四云平台虚拟机。第一云平台虚拟机是第一微服务包的主云平台虚拟机,第二云平台虚拟机、第三云平台虚拟机和第四云平台虚拟机都是第一微服务包的备云平台虚拟机。这样,这些分配信息会被储存在集群内存数据库中,便于第一云平台虚拟机(即第一微服务包的主云平台虚拟机)损坏时,找到第二云平台虚拟机、第三云平台虚拟机和第四云平台虚拟机(即第一微服务包的所有备云平台虚拟机)。而且,根据第二云平台虚拟机、第三云平台虚拟机和第四云平台虚拟机的运行状态,在其中选择一个来替代损坏的第一台云平台虚拟机,从而防止用户等待时间过长。
应理解,一个云平台虚拟机可以同时处理几个推送任务,也可以同时备份几个推送任务,当一个主云平台虚拟机损坏时,就从其他备云平台虚拟机中选择,根据备云平台虚拟机的性能,选择一个性能较好地去替代已损坏的主云平台虚拟机,如根据CPU性能等进行选择,但选择标准不限于此。此外,主云平台虚拟机损坏时,如何选择备云平台虚拟机的这套控制系统,可以选择适合执行推送任务的备云平台虚拟机去执行任务。
可选地,作为另一实施例,在所述针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容之前,图1的方法还包括:接收订阅请求;根据所述订阅请求创建所述订阅平台。
具体地,通过订阅平台的唯一标识从基础容器包读取通用服务模板,容器本身是共享宿主操作系统内核,基础容器包本身就是一个标准的Linux rootfs(roof filesystem)+用户自定义的工具,在本发明实施例中,基础容器包相当于是一种创建个性化服务的方法,例如通用服务模板,用于指导构建服务,为打包部署做准备。可以通过页面推送url来创建不同的订阅平台,每接收一个订阅请求创建一个由后台程序生成的与之对应的订阅平台,不同的订阅平台记录的内容不同,并且通过后台程序为创建的订阅平台生成一个订阅平台的唯一标识。但是本领域技术人员应当理解,本实施例不限于生成唯一标识,也可以是生成第一标识、第二标识,本实施例对标识数量不做限定。唯一标识使每个订阅平台都拥有自己的唯一识别码,该唯一标识可用于唯一标识具体的订阅平台,从而使不同的订阅平台易于区分,如居民身份证相当于每个公民的唯一标识。
根据本发明的实施例,所述针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容,包括:根据所述订阅平台调取订阅平台所需服务的相关信息;从基础容器包读取通用服务模板;然后根据所述订阅平台所需服务的相关信息,通过所述通用服务模板创建所述个性化服务内容。
具体地,订阅平台所需服务相关信息包括订阅平台唯一标识、订阅平台对应的主题配置、各个云平台虚拟机的IP地址和各个云平台虚拟机的运行状态。订阅平台对应的主题配置包括用户请求的服务主题、请求的服务类别、请求的服务消息发送频率等。这样,通过通用服务模板结合订阅平台所需服务相关信息,实现针对订阅平台的个性化服务。
可选的,作为另一实施例,图1的方法还包括:实时监控多个微服务包和多个订阅推送任务的生成过程和运行状态。
例如,实时监控运行状态,可以理解为利用软件对系统运行的过程进行同步的监控,但不限于此,如杀毒软件对计算机内存监控并调用系统文件的一种操作模式,有效的对运行过程予以监管,还解决了对于程序运行有误,从而使接收方等待时长过长的问题,保障了整个程序运行的实时性和实用性。
图2所示为本发明一实施例提供的执行订阅推送任务的流程图。如图2所示,执行订阅推送任务,包括以下内容。
205:开始执行订阅推送任务。
210:监听消费线程监听消息。
具体地,监听消费线程监听Kafka提供的实时消息。
Kafka是一个开源流处理平台,是一种高吞吐量的分布式发布订阅消息系统,通过Hadoop的并行加载机制来统一线上和离线的消息处理,通过集群来提供实时的消息。
220:判断消息是否要发送。
具体地,根据订阅平台的唯一标识判断消息是否要发送。
例如,订阅平台请求订阅的是烟感行业消息,当监听消费线程监听到Kafka提供的实时消息,例如烟感报警消息,则对烟感报警消息进行处理,例如判断烟感报警消息级别,到达一定级别以后再进行发送。
230:若是,将消息发送给推送线程。
231:推送线程针对订阅平台调取发送消息所需数据。
具体地,监听消费线程监听到消息后,根据订阅平台的订阅平台唯一标识判断消息是否要发送,若是,将消息发送给推送线程,推送线程针对订阅平台调取发送消息所需数据,例如,发送数据格式和发送地址;若否,继续监听消息。应理解,步骤231是可选的。
232:推送线程发送消息。
240:若否,丢弃消息。
250:结束本消息的推送任务,继续执行其他消息订阅推送任务。
监听消费线程持续的监听消息,接收每个监听到的消息,再判断消息是否发送,能实时快速地处理每个消息,避免了同时对多个消息进行分类分级等处理后再发送导致的内存占用过多。
例如,订阅推送任务是推送火情报警消息,而kafka会提供多种实时消息,但这些消息中并不都是有关火情的消息,此时,订阅推送火情报警任务中的代码会对实时提供的消息进行判断,找到含有需要的火情特征的消息,同时,对达到一定级别具有安全隐患的火情消息发送给推送进程,推送进程根据对应的订阅平台,推送火情报警信息,从而让工厂对起火的情况进行及时处理。有效的缩短了实时信息的处理时长,并且对每一条实时消息进行判断,使得在对实时消息进行分析时不会错漏,推送线程的存在也可让判断得到的消息及时发送给接收方,让接收方针对问题及时作出处理。
图3所示为本发明又一实施例提供的一种生成微服务的方法的示意性流程图。图3的方法是图1的方法的例子。如图3所示,该方法包括如下内容。
305:接收订阅请求。
具体地,接收用户发送的订阅请求。
310:根据订阅请求创建订阅平台。
315:针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容。
320:打包个性化服务内容,得到微服务包。
具体地,一个个性化服务内容包含多条数据,所谓的打包,就是将一个个性化服务中的多条数据进行整合使之成为一个整体,即一个个性化服务内容为一个微服务包。
325:将微服务包分配到多个云平台虚拟机,其中,多个云平台虚拟机中的一台作为微服务包的主云平台虚拟机,用于处理微服务包,多个云平台虚拟机中的其他至少一个云平台虚拟机作为微服务包的至少一个备云平台虚拟机,用于备份微服务包。
330:根据微服务包生成订阅推送任务。
具体地,针对每一个微服务包,创建一个订阅推送任务,用于执行订阅推送任务。
335:部署启动和安装订阅推送任务。
具体地,调取执行订阅推送任务所需数据,例如,推送的数据格式和发送地址。启动和安装订阅推送任务,为执行订阅推送任务做准备。
340:执行订阅推送任务。
345:返回服务的运行状态。
具体地,执行订阅推送任务,返回服务的运行状态。例如,如果任务推送成功,返回推送成功信息,如果任务没有推送成功,返回推送失败信息。
350:将服务的运行状态存储在集群内存数据库。
可选地,实时监控多个个性化服务的生成过程和运行状态;
具体地,实时监控个性化服务的生成过程和运行状态,并把相应的监控信息存储在集群内存数据库,以便需要时读取和管理。
图4所示为本发明另一实施例提供的生成微服务的装置400结构示意图。该装置400包括:获取模块410、创建模块420、打包部署模块430、推送任务模块440、监控模块450。
获取模块410用于获取订阅请求。创建模块420用于根据订阅请求创建订阅平台,并根据订阅平台创建个性化服务内容。打包部署模块430,用于打包个性化服务内容,得到微服务包,将微服务包分配到多个云平台虚拟机,生成订阅推送任务。推送任务模块440,用于将执行订阅推送任务。监控模块450,用于监控多个微服务包和多个订阅推送任务的生成过程和运行状态。
例如,推送任务模块440中的监听消费线程监听Kafka提供的实时消息,然后判断消息是否要发送。若是,将消息发送给推送线程,由推送线程发送消息;若否,丢弃消息。然后继续监听消息。
图5所示为本发明另一实施例提供的生成微服务的设备500结构示意图。该设备500包括:存储器510、处理器520。
如图5所示,该电子设备包括如下内容。
存储器510,用于存储一个或多个计算机程序。
一个或多个处理器520,当一个或多个处理器520执行一个或多个计算机程序时,实现如上述任一实施例所述的生成微服务的方法。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的声源定位方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的可移动设备的定位方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (9)
1.一种生成微服务的方法,其特征在于,包括:
针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容;
打包所述个性化服务内容,得到微服务包;
将所述微服务包分配到多个云平台虚拟机,其中,所述多个云平台虚拟机中的一台作为所述微服务包的主云平台虚拟机,用于处理所述微服务包,所述多个云平台虚拟机中的其他至少一个云平台虚拟机作为所述微服务包的备云平台虚拟机,用于备份所述微服务包,所述至少一个备云平台虚拟机中每个备云平台虚拟机在备份所述微服务包的同时,还作为所述多个订阅平台中的另一订阅平台的微服务包的主云平台虚拟机;
根据所述微服务包生成订阅推送任务;
部署启动和安装所述订阅推送任务;
执行所述订阅推送任务。
2.根据权利要求1所述的方法,其特征在于,在所述针对至少一个订阅平台,创建个性化服务内容之前,还包括:
接收订阅请求;
根据所述订阅请求创建所述订阅平台。
3.根据权利要求1所述的方法,其特征在于,所述针对至少一个订阅平台中的每个订阅平台,创建个性化服务内容,包括:
调取订阅平台所需服务的相关信息;
从基础容器包读取通用服务模板;根据所述订阅平台所需服务的相关信息,通过所述通用服务模板创建所述个性化服务内容。
4.根据权利要求1所述方法,其特征在于,所述执行订阅推送任务,包括:
消费线程监听消息;
根据订阅平台的唯一标识,判断所述消息是否要发送;
若是,将所述消息发送给推送线程,所述推送线程针对所述订阅平台调取发送所述消息所需数据;
若否,丢弃所述消息。
5.根据权利要求1所述方法,其特征在于,在所述执行所述订阅推送任务之后,还包括:
将执行所述订阅推送任务后服务的运行状态返回集群内存数据库。
6.根据权利要求1至5中的任一项所述方法,其特征在于,还包括:
实时监控多个所述微服务包和多个所述订阅推送任务的生成过程和运行状态。
7.一种生成微服务的装置,其特征在于,包括:
获取模块,用于获取订阅请求;
创建模块,用于根据所述订阅请求创建订阅平台,并根据所述订阅平台创建个性化服务内容;
打包部署模块,用于打包所述个性化服务内容,得到微服务包,将所述微服务包分配到多个云平台虚拟机,生成订阅推送任务,其中,所述多个云平台虚拟机中的一台作为所述微服务包的主云平台虚拟机,用于处理所述微服务包,所述多个云平台虚拟机中的其他至少一个云平台虚拟机作为所述微服务包的备云平台虚拟机,用于备份所述微服务包,所述至少一个备云平台虚拟机中每个备云平台虚拟机在备份所述微服务包的同时,还作为所述多个订阅平台中的另一订阅平台的微服务包的主云平台虚拟机;
推送任务模块,用于执行所述订阅推送任务;
监控模块,用于监控多个所述微服务包和多个所述订阅推送任务的生成过程和运行状态。
8.一种电子设备,其特征在于,包括:
存储器,包括:集群内存数据库;
处理器;
计算机程序,所述计算机程序存储在存储器中,并被配置为由所述处理器执行以实现权利要求1-6任一所述的生成微服务的方法。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-6任一所述的生成微服务的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911348429.9A CN111092954B (zh) | 2019-12-24 | 2019-12-24 | 一种生成微服务的方法和装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911348429.9A CN111092954B (zh) | 2019-12-24 | 2019-12-24 | 一种生成微服务的方法和装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111092954A CN111092954A (zh) | 2020-05-01 |
CN111092954B true CN111092954B (zh) | 2022-05-17 |
Family
ID=70396733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911348429.9A Active CN111092954B (zh) | 2019-12-24 | 2019-12-24 | 一种生成微服务的方法和装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111092954B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596117B (zh) * | 2021-07-14 | 2023-09-08 | 北京淇瑀信息科技有限公司 | 实时数据处理方法、系统、设备及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566153A (zh) * | 2017-07-21 | 2018-01-09 | 哈尔滨工程大学 | 一种自管理的微服务实现方法 |
CN108206852A (zh) * | 2016-12-20 | 2018-06-26 | 杭州华为数字技术有限公司 | 一种微服务框架下的基于会话的服务实例管理方法及设备 |
CN108880887A (zh) * | 2018-06-20 | 2018-11-23 | 山东大学 | 基于微服务的陪护机器人云服务系统及方法 |
CN109246251A (zh) * | 2018-11-13 | 2019-01-18 | 杭州数梦工场科技有限公司 | 一种微服务调用方法、装置、系统、设备及可读存储介质 |
CN109324876A (zh) * | 2018-10-12 | 2019-02-12 | 西安交通大学 | 一种高可用的Docker与虚拟机初始放置方法 |
US10216449B1 (en) * | 2016-12-23 | 2019-02-26 | EMC IP Holding Company LLC | Extended snapshot using backup and microservice |
CN109703605A (zh) * | 2018-12-25 | 2019-05-03 | 交控科技股份有限公司 | 一种基于微服务的ats系统 |
WO2019195213A1 (en) * | 2018-04-02 | 2019-10-10 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
CN110457134A (zh) * | 2019-08-08 | 2019-11-15 | 杭州阿启视科技有限公司 | 建立基于容器云和微服务架构的视频大数据云平台的方法 |
CN110557413A (zh) * | 2018-05-30 | 2019-12-10 | 中国人民财产保险股份有限公司 | 一种业务服务系统及提供业务服务的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130198788A1 (en) * | 1999-10-21 | 2013-08-01 | Automated Media Processing Solutions, Inc, Dba Equilibrium, Amps, Inc. | Social video network |
-
2019
- 2019-12-24 CN CN201911348429.9A patent/CN111092954B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108206852A (zh) * | 2016-12-20 | 2018-06-26 | 杭州华为数字技术有限公司 | 一种微服务框架下的基于会话的服务实例管理方法及设备 |
US10216449B1 (en) * | 2016-12-23 | 2019-02-26 | EMC IP Holding Company LLC | Extended snapshot using backup and microservice |
CN107566153A (zh) * | 2017-07-21 | 2018-01-09 | 哈尔滨工程大学 | 一种自管理的微服务实现方法 |
WO2019195213A1 (en) * | 2018-04-02 | 2019-10-10 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
CN110557413A (zh) * | 2018-05-30 | 2019-12-10 | 中国人民财产保险股份有限公司 | 一种业务服务系统及提供业务服务的方法 |
CN108880887A (zh) * | 2018-06-20 | 2018-11-23 | 山东大学 | 基于微服务的陪护机器人云服务系统及方法 |
CN109324876A (zh) * | 2018-10-12 | 2019-02-12 | 西安交通大学 | 一种高可用的Docker与虚拟机初始放置方法 |
CN109246251A (zh) * | 2018-11-13 | 2019-01-18 | 杭州数梦工场科技有限公司 | 一种微服务调用方法、装置、系统、设备及可读存储介质 |
CN109703605A (zh) * | 2018-12-25 | 2019-05-03 | 交控科技股份有限公司 | 一种基于微服务的ats系统 |
CN110457134A (zh) * | 2019-08-08 | 2019-11-15 | 杭州阿启视科技有限公司 | 建立基于容器云和微服务架构的视频大数据云平台的方法 |
Non-Patent Citations (3)
Title |
---|
使用Spring Boot创建微服务;Daniel Woods;《百度 https://www.infoq.cn/article/boot-microservices》;20150518;全文 * |
基于Kafka的消息发布订阅服务的设计与实现;卢帅;《中国优秀硕士学位论文全文数据库 (信息科技辑) 》;20181015;第3-4、7、13、25、45页以及图3.1-3.2、表4.2 * |
基于微服务架构的开放平台消息系统的设计与实现;谢伟;《中国优秀硕士学位论文全文数据库 (信息科技辑) 》;20190515;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111092954A (zh) | 2020-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180183651A1 (en) | Content push method and server, and terminal | |
US10268515B2 (en) | Releasing resources from processes in a particular order to provide required resources to start an application | |
CN108256118B (zh) | 数据处理方法、装置、系统、计算设备以及存储介质 | |
CN107635010B (zh) | 流量调度方法、装置、计算机可读存储介质及电子设备 | |
CN112465146B (zh) | 一种量子与经典混合云平台以及任务执行方法 | |
US20150019722A1 (en) | Determining, managing and deploying an application topology in a virtual environment | |
CN111831410A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN104793982A (zh) | 一种创建虚拟机的方法和设备 | |
CN111190823A (zh) | Ui自动化测试方法、电子装置及计算机可读存储介质 | |
US20110131288A1 (en) | Load-Balancing In Replication Engine of Directory Server | |
CN111831411A (zh) | 任务处理方法、装置、存储介质及电子设备 | |
CN111694639A (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN111309447A (zh) | 容器调度方法及装置 | |
CN111092954B (zh) | 一种生成微服务的方法和装置及电子设备 | |
CN111756711A (zh) | 一种流量控制方法、装置、系统及存储介质 | |
US20220206836A1 (en) | Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium | |
CN112667317A (zh) | 一种异常耗时检测方法、装置、电子设备及存储介质 | |
CN113051245A (zh) | 用于迁移数据的方法、装置及系统 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN114610446B (zh) | 一种自动注入探针的方法、装置及系统 | |
CN111488268A (zh) | 自动化测试的调度方法和调度装置 | |
CN104809122A (zh) | 一种访问网页的方法及装置 | |
CN113687908A (zh) | Pmem虚拟机的创建方法、装置、设备及可读存储介质 | |
CN113778527A (zh) | 用于控制流水线任务的状态的方法和装置 | |
CN111666155A (zh) | 一种资源配置文件管理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |