[发明专利]基于Zookeeper的节点配置方法和基于Zookeeper的节点配置系统在审
申请号: | 201410745771.3 | 申请日: | 2014-12-08 |
公开(公告)号: | CN104486108A | 公开(公告)日: | 2015-04-01 |
发明(设计)人: | 郝学武 | 申请(专利权)人: | 畅捷通信息技术股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/08 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 zookeeper 节点 配置 方法 系统 | ||
技术领域
本发明涉及通信技术领域,具体而言,涉及一种基于Zookeeper的节点配置方法和一种基于Zookeeper的节点配置系统。
背景技术
目前,市场上的大型企业级应用软件的主要使用编码式的开发方式或一次开发持续运行方式。其中,编码式的开发方式使得快速开发企业级应用软件的愿望难以实现,而一次开发持续运行的方式导致了软件的僵化。
现有技术中的软件不但难以适应客户需求的变化,而且每次对软件进行修改都必须在代码层上推倒重来,从而降低了工作效率,也造成了资源的浪费。除此之外,现有技术中的软件不仅工程代码繁多,不利于软件的抽象化和模块化,而且软件的性能也比较难优化。
因此需要一种新的技术方案,可以实现系统的软负载均衡和高可用性。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,可以实现系统的软负载均衡和高可用性。
有鉴于此,本发明的一方面提出了一种基于Zookeeper的节点配置方法,包括:当检测到来自客户端的对服务的运行请求时,为所述服务在Zookeeper中建立至少一个节点;启动任一线程对所述至少一个节点的工作状态进行检测;根据检测结果,对所述至少一个节点进行处理。
在该技术方案中,可以在客户端使用服务的过程中对客户端访问的节点的工作状态进行检测,并判断检测到的该节点的工作状态是否正常,以便在节点处于故障状态时,及时告知客户端,并为客户端移除该节点,从而保证客户端的服务质量,实现软负载均衡和高可用性,避免因某一节点中断而导致服务不可用。
在该技术方案中,优选地,所述为所述服务在Zookeeper中建立至少一个节点,具体包括:在所述Zookeeper中为所述服务确定指定路径;在确定的所述指定路径上为所述服务建立所述至少一个节点。
在该技术方案中,在服务器启动后,搭建Zookeeper集群,并可以在Zookeeper的指定路径为客户端建立可访问的节点。其中,每个服务建立3个java工程:core(接口定义包)、server(服务端包)、client(客户端包),core存放所有接口和公用bean,server为这个服务的model、dao、cache、service核心实现层,client为该服务的对外暴露接口,以及Server和Client基于socket(套接字)进行通信,Server启动后在Zookeeper指定路径建立临时节点,其value(关键字)为该服务所在的机器的网络协议。
在该技术方案中,优选地,在所述为所述服务在Zookeeper中建立至少一个节点之后,还包括:将所述客户端的网络协议注册到所述指定路径上的网络协议列表中,并将注册结果保存至所述客户端的缓存列表,以供所述客户端通过所述缓存列表访问所述节点。
在该技术方案中,Client对外提供该服务接口,需要调用该服务的系统用项目管理工具,如maven,将该client依赖进来,web(网页)容器启动时候会从特定路径读取已注册服务网络协议列表,将结果放到缓存列表,以便客户端通过缓存列表访问节点。
在该技术方案中,优选地,所述对所述至少一个节点的工作状态进行检测,具体包括:对所述至少一个节点进行绑定监听;根据监听结果,确定所述节点的工作状态,其中,所述节点的所述工作状态包括正常连接状态或连接故障状态。
在该技术方案中,利用预定的监听机制对节点绑定监听,如果监听值发生变化,说明节点的工作状态发生变化,则更新缓存列表,以保证服务的可用性。
在该技术方案中,优选地,所述根据检测结果,对所述至少一个节点进行处理,具体包括:确定所述至少一个节点中是否有节点处于所述连接故障状态;当确定所述至少一个节点中的任一节点处于所述连接故障状态时,为所述客户端移除所述任一节点;在移除所述任一节点后,更新所述客户端的所述缓存列表,以使所述客户端访问所述至少一个节点中的所述任一节点以外的其他节点。
在该技术方案中,当节点发生故障时,可以及时摘除该节点,以使客户端通过其他节点访问服务器,另外,如果节点由于网络不稳等因素导致故障或被摘除,可以立即再次注册该节点。
本发明的另一方面提出了一种基于Zookeeper的节点配置系统,包括:节点建立单元,当检测到来自客户端的对服务的运行请求时,为所述服务在Zookeeper中建立至少一个节点;节点工作状态检测单元,启动任一线程对所述至少一个节点的工作状态进行检测;处理单元,根据检测结果,对所述至少一个节点进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于畅捷通信息技术股份有限公司,未经畅捷通信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410745771.3/2.html,转载请声明来源钻瓜专利网。