【技术实现步骤摘要】
基于亲和性调整Docker组件部署的方法和相关设备
本申请涉及分布式部署
,特别涉及一种基于亲和性调整Docker组件部署的方法和相关设备。
技术介绍
在大型的金融系统中,常常使用Docker容器来部署微服务的分布式系统。分布式系统中常常涉及到十几个,甚至是几十个组件,各组件设置在Docker容器中,基于Docker容器来运行分布式系统。各Docker组件的运行需要高效的交互以及合理的资源利用。因此,需要解析出各组件间的亲和关系,以便用于管理哪些Docker组件部署在一起,哪些Docker组件在部署时需要相互隔离。其中,亲和关系是指组件间的亲和性的关系,亲和性用以表现组件间的内在联系是否密切,比如根据组件与组件间运行时的相互调用和资源共享等情况是否频繁,从而判断组件间的亲和性。现有用户通过k8s(Kubernetes)这一内部容器管理系统来实现根据亲和关系对Docker组件的部署。但是,通过k8s进行Docker组件部署时,各组件的亲和关系需要用户通过手动设置非常详细的标签和配置,然后k8s才能根据各组件的标签和配置进行组件间亲和关系的确定。并且,配置和标签一旦确定后,组件间的亲和关系将不能被调整,除非对系统进行重启,才能再次完成组件的部署。
技术实现思路
本申请的主要目的为提供一种基于亲和性调整Docker组件部署的方法和相关设备,旨在解决现有Docker组件间的亲和关系需要手动设置以及Docker组件的部署不具有即时性的弊端。为实现上述目的,本申请提供了一种基于亲和性调整Docker组件部署的方法,所述Docker组件部署于主机群中,所述主机群为设置 ...
【技术保护点】
1.一种基于亲和性调整Docker组件部署的方法,所述Docker组件部署于主机群中,所述主机群为设置在同一地区的所有所述主机形成的集群,其特征在于,所述方法包括:根据预设频率,获取所述预设频率对应的时间段内的各所述Docker组件间的运行信息以及各所述Docker组件分别对应的运行占用信息,其中,所述运行信息为各所述Docker组件间的调用关系信息和资源共享信息,所述调用关系信息为组件与组件间相互对应的调用关系和调用次数,所述资源共享信息为组件与组件间在运行时共同调用的资源的对应信息;解析各所述Docker组件间的运行信息和各所述Docker组件的运行占用信息,得到各所述Docker组件间的亲和关系;调用Apriori算法解析各所述Docker组件间的亲和关系,生成组件频繁项集,其中,所述组件频繁项集为包含各所述Docker组件间的亲和关系的集合;根据各所述Docker组件间的亲和关系和所述组件频繁项集,调整各所述Docker组件在各主机群上的部署。
【技术特征摘要】
1.一种基于亲和性调整Docker组件部署的方法,所述Docker组件部署于主机群中,所述主机群为设置在同一地区的所有所述主机形成的集群,其特征在于,所述方法包括:根据预设频率,获取所述预设频率对应的时间段内的各所述Docker组件间的运行信息以及各所述Docker组件分别对应的运行占用信息,其中,所述运行信息为各所述Docker组件间的调用关系信息和资源共享信息,所述调用关系信息为组件与组件间相互对应的调用关系和调用次数,所述资源共享信息为组件与组件间在运行时共同调用的资源的对应信息;解析各所述Docker组件间的运行信息和各所述Docker组件的运行占用信息,得到各所述Docker组件间的亲和关系;调用Apriori算法解析各所述Docker组件间的亲和关系,生成组件频繁项集,其中,所述组件频繁项集为包含各所述Docker组件间的亲和关系的集合;根据各所述Docker组件间的亲和关系和所述组件频繁项集,调整各所述Docker组件在各主机群上的部署。2.根据权利要求1所述的基于亲和性调整Docker组件部署的方法,其特征在于,所述运行占用信息包括CPU占用率和内存占用量,所述解析各所述Docker组件间的运行信息和各所述Docker组件的运行占用信息,得到各所述Docker组件间的亲和关系的步骤,包括:根据各所述Docker组件间的调用次数和所述预设频率对应的时间段,计算得到各Docker组件间的调用频率;将各所述Docker组件间的调用频率、各所述Docker组件间的资源共享信息和各所述Docker组件的运行占用信息输入预先构建的亲和关系库中,匹配得到各所述Docker组件间的亲和关系,其中,所述亲和关系库中存储有组件间的调用频率、组件间的资源共享信息、组件的运行占用信息与亲和关系映射关系表。3.根据权利要求1所述的基于亲和性调整Docker组件部署的方法,其特征在于,所述Docker组件间的亲和关系包括两个Docker组件对应的亲和信息,所述调用Apriori算法解析各所述Docker组件间的亲和关系,生成组件频繁项集的步骤,包括:根据各所述Docker组件间的亲和关系,从各所述Docker组件中筛选得到与其他Docker组件具有确定的亲和关系的各个第一组件;根据各所述第一组件以及各所述Docker组件间的亲和关系,生成各所述第一组件间的亲和关系对应的亲和性集;根据各所述亲和性集,统计得到各所述第一组件的出现次数以及各所述第一组件对应的各亲和信息对应的出现次数;根据各所述第一组件、各所述第一组件的出现次数以及各所述第一组件的各亲和信息对应的出现次数,生成所述组件频繁项集。4.根据权利要求3所述的基于亲和性调整Docker组件部署的方法,其特征在于,所述亲和信息包括亲和、较亲和、违亲和以及反亲和,所述根据各所述Docker组件间的亲和关系和所述组件频繁项集,调整各所述Docker组件在各主机群上的部署的步骤,包括:根据预先设定的优先级,从所述组件频繁项集中筛选出优先级第一的第一组件,并将所述优先级第一的第一组件部署在第一主机群,所述第一主机群为各所述主机群中的任一主机群;根据预先设定的优先级,从所述组件频繁项集中筛选出优先级第二的第一组件,并判断所述优先级第二的第一组件和所述优先级第一的第一组件之间的亲和关系是否符合预设条件,以完成预设条件的判断动作,其中,所述预设条件为组件之间的亲和关系为亲和或较亲和;若符合,则将所述优先级第二的第一组件部署在所述第一主机群;若不符合,则将优先级第二的第一组件部署在第二主机群,以完成部署组件动作,其中,所述第二主机群为各所述主机群中除所述第一主机群之外的任一主机群;依次按照优先级降序从所述组件频繁项集中...
【专利技术属性】
技术研发人员:赵骏,
申请(专利权)人:平安科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。