一种服务集群的部署方法技术

技术编号:35137151 阅读:17 留言:0更新日期:2022-10-05 10:12
本发明专利技术涉及一种服务集群的部署方法,包括:A01、第一计算机接受用户所配置的集群模型,并生成相应集群配置信息;A02、组态服务S1将所述集群配置信息发布到所有计算机分别预先部署的部署服务S2,每一所述部署服务S2解析该集群配置信息,并拉取该集群配置信息中服务组件包到该部署服务S2所在的计算机中,并使用该集群配置信息中相应的服务的启动命令参数启动部署在本地计算机中的第i项业务服务Q

【技术实现步骤摘要】
一种服务集群的部署方法


[0001]本专利技术涉及工业控制
,尤其涉及一种服务集群的部署方法。

技术介绍

[0002]在工业控制领域,一套完整的工厂生产控制解决方案产品往往包含了实时数据服务、历史数据服务、诊断服务、报警服务、二次计算服务、资产管理服务等服务组成,为了提升产品的可靠性,同一种服务需要部署2个甚至更多互为冗余的实例来组成集群,比如在2台服务器上各自部署一个实时数据服务,当其中一个宕机下线后,另一台服务器还能继续提供实时数据服务;为了提升产品的性能和稳定性,往往需要将不同的服务部署在不同的服务器上,比如将实时数据服务和历史数据服务分别部署在不同的服务器上,在实时数据服务器上保证CPU算力,在历史数据服务器上保证存储空间和数据的稳定性;为了提升产品的可用性,产品需要支持在极端场景下的运行,比如提供一台或多台全功能的操作站,使其在服务器全部宕机下线时还能对生产过程进行紧急控制,然而当服务器在线时又需要与服务器的数据保持一致。现有技术中存在如下方式:
[0003]方案一:单机独立部署的方法,需要N台服务器(N≥1),在每台服务器上部署所有的服务,每台服务器上的服务各自独立运行,每台服务器仅能对本机提供服务,且受服务器上各服务运行时序的限制,服务器间计算产生的数据是不一致的;但是,该方案受服务器硬件限制,每台服务器的算力是有限的,难以扩展。方案二:采用主备双机部署的方法,需要2台服务器,在每台服务器上部署一套产品的所有服务,两台服务器互为主备冗余,由主服务器上的各服务向客户端提供服务。由于各服务均由主服务器向客户端提供服务,导致主服务器运算压力和负载很高,主备服务器间的负载很不均衡,且受服务器硬件限制,每台服务器的算力是有限的,仅能通过提升硬件的方式扩展算力,成本很高。方案三:采用集群部署的方法,需要N台服务器,每台服务器上可部署的不同数量和不同类型服务,服务器本身没有主备概念。这种部署方法还有两个分支,分支一:服务对外有主备角色,仅主服务对客户端提供服务,该方案要求客户端必须实时感知各服务当前的主服务在哪里,并向主服务建立连接并请求服务,当主服务发生了变化时,客户端需要主动重连到新的主服务,这样极大增加了客户端的工作量。现有技术中还存在一种一主一从多冷备的部署方法,该方法仅提供了一主一从节点,剩下的服务节点均处于冷备状态,导致了严重硬件资源浪费,当一主一从同时故障时,将导致数据丢失甚至系统不可用。分之二:服务对外是无状态的,任意服务节点均可对客户端提供服务,客户端仅需选择任一有效的服务节点建立连接并请求服务即可,当该服务节点下线时,从剩下的活动节点中任选一个继续请求服务即可,本方案理论上可无限扩展服务节点,且部署节点个数越多系统的稳定性越高,比如当部署3个服务节点时,任意2个同时故障时系统仍是可靠的,但是该方案的部署非常复杂,多采用人工部署的方式,而且无法解决工业控制领域当全部服务器均下线后仍能提供紧急服务的场景需求。

技术实现思路

[0004](一)要解决的技术问题
[0005]鉴于现有技术的上述缺点、不足,本专利技术提供一种服务集群的部署方法。
[0006](二)技术方案
[0007]为了达到上述目的,本专利技术采用的主要技术方案包括:
[0008]第一方面,本专利技术实施例提供一种服务集群的部署方法,包括:
[0009]A01、第一计算机接受用户根据业务需求针对包括第一计算机在内的m台计算机所配置的集群模型,并生成相应的集群配置信息;
[0010]所述集群配置信息包括m台计算机中每台计算机分别所对应的服务的id、服务所在集群的id以及该集群下的所有的服务实例信息、服务的启动命令参数、服务在集群中的初始角色、服务的版本号;
[0011]其中,所述第一计算机为预先安装并运行组态服务S1的计算机;
[0012]A02、所述组态服务S1将所述集群配置信息发布到所有计算机分别预先部署的部署服务S2,每一所述部署服务S2解析该集群配置信息,并从组态服务S1拉取该集群配置信息中与该部署服务S2所在的计算机对应的服务id和版本号的服务组件包到该部署服务S2所在的计算机中,并使用该集群配置信息中相应的服务的启动命令参数启动部署在本地计算机中的第i项业务服务Q
i

[0013]A03、每一第i项业务服务Q
i
分别在所部署的计算机启动后,每一业务服务Q
i
向本地计算机中预先部署的集群框架服务S3注册集群信息和自身状态并从本机计算机上的集群框架服务S3中获取业务服务Q
i
所在集群中的节点角色状态。
[0014]其中第i项业务服务Q
i
需部署在计算机的实例个数为K
i
个。
[0015]优选地,所述方法还包括:
[0016]A04、第i项业务服务S
i
的K
i
个实例所在计算机上的集群框架服务S3之间进行握手通讯并决策出1个主节点角色,j个备节点角色,k个学习者角色。
[0017]优选地,
[0018]其中,1≤K
i
≤m;
[0019]0≤j≤K
i

1;
[0020]0≤k≤K
i

j

1。
[0021]优选地,所述方法在A01之前还包括:
[0022]在第一计算机上安装新的服务组件包;
[0023]所述新的服务组件包为预先升级版本后的服务组件包。
[0024]优选地,
[0025]所述实例个数为K
i
为预先设定值。
[0026]优选地,
[0027]所述集群配置信息存储在配置存储单元中。
[0028]优选地,
[0029]配置存储单元为文件或数据库。
[0030]优选地,
[0031]其中主节点角色表示在服务集群中该服务实例作为数据一致性的仲裁者,由该服
务执行写操作并向集群中的其他服务实例同步数据。
[0032]优选地,
[0033]备节点角色表示在服务集群中该服务实例作为主节点的热备节点,从主节点接收同步数据,保持数据的实时一致性,当主节点下线时可以竞选为新的主节点,以保持服务集群的正常运行。
[0034]优选地,
[0035]学习者角色表示在服务集群中该服务实例作为一种特殊的节点,从主节点接收同步数据,但是永远不可竞选为主节点,但可以在主备节点均下线时,对计算机的客户端提供紧急服务;
[0036]不论服务实例是主节点角色、备节点角色还是学习者节点角色,其均可向客户端提供服务。
[0037](三)有益效果
[0038]本专利技术的有益效果是:本专利技术的一种服务集群的部署方法,由用户根据业务需求配置集群模型并生成集群配置信息,因此可以将任意种数的服务部署在任意台计算机上,每种服务可以具有任意个数的服务实例;而任意服务实例均本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务集群的部署方法,其特征在于,包括:A01、第一计算机接受用户根据业务需求针对包括第一计算机在内的m台计算机所配置的集群模型,并生成相应的集群配置信息;所述集群配置信息包括m台计算机中每台计算机分别所对应的服务的id、服务所在集群的id以及该集群下的所有的服务实例信息、服务的启动命令参数、服务在集群中的初始角色、服务的版本号;其中,所述第一计算机为预先安装并运行组态服务S1的计算机;A02、所述组态服务S1将所述集群配置信息发布到所有计算机分别预先部署的部署服务S2,每一所述部署服务S2解析该集群配置信息,并从组态服务S1拉取该集群配置信息中与该部署服务S2所在的计算机对应的服务id和版本号的服务组件包到该部署服务S2所在的计算机中,并使用该集群配置信息中相应的服务的启动命令参数启动部署在本地计算机中的第i项业务服务Q
i
;A03、每一第i项业务服务Q
i
分别在所部署的计算机启动后,每一业务服务Q
i
向本地计算机中预先部署的集群框架服务S3注册集群信息和自身状态并从本机计算机上的集群框架服务S3中获取业务服务Q
i
所在集群中的节点角色状态;其中第i项业务服务Q
i
需部署在计算机的实例个数为K
i
个。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:A04、第i项业务服务S
i
的K
i
个实例所在计算机上的集群框架服务S3之间进行握手通讯...

【专利技术属性】
技术研发人员:韦群跃任远刘邓吴英敏樊旻
申请(专利权)人:浙江中控技术股份有限公司
类型:发明
国别省市:

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

1