[发明专利]程序关联关系的解耦系统和方法有效
申请号: | 201711093323.X | 申请日: | 2017-11-08 |
公开(公告)号: | CN109756543B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 颜志杰 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 上海弼兴律师事务所 31283 | 代理人: | 薛琦;李梦男 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 关联 关系 系统 方法 | ||
本发明公开了一种程序关联关系的解耦系统和方法。解耦系统包括第一通信库、第一服务器和至少一第二服务器;第一服务器用于运行第一分布式程序;至少一第二服务器用于运行第二分布式程序;所述第一分布式程序用于调用所述第一通信库监听目标第二分布式程序;所述第一通信库用于获取目标第二分布式程序的程序信息;所述程序信息包括目标第二服务器的IP地址和目标第二分布式程序的端口信息;所述第一通信库还用于根据所述程序信息发送探活包至所述目标第二分布式程序,以检测所述第一分布式程序和所述目标第二分布式程序之间的通信状态。本发明避免了因网络异常造成的上下游关联关系的误判断,探测准确度大大提高,进而提高了系统的稳定性。
技术领域
本发明涉及互联网技术领域,特别涉及一种程序关联关系的解耦系统和方法。
背景技术
随着互联网技术的不断深入,产品背后的技术越来越复杂,其实现一般需要众多程序模块相互协同配合完成。这些程序分布在不同的机房、地域,运行在不同的服务器上,程序之间需要相互通信,由此产生了这样的需求:上游程序需要动态的知道下游程序的通信地址和健康状况,才能使得整个分布式协作变的更加的稳定可靠,避免由于程序所在服务器异常、网络异常、程序自身问题等各种因素带来的稳定性影响。
现有技术中,通过DNS(一个分布式数据库)和zookeeper(分布式系统的可靠协调系统)实现上下游程序之间的关联关系解耦。具体的:下游程序将自身的端口信息和服务器IP地址注册到zookeeper的临时节点。上游程序实时监听这个临时节点zookeeper。当下游程序和zookeeper一段时间内没有通信,zookeeper的临时节点会被删除,同时zookeeper会给上游程序发送消息通知临时节点删除,上游节点由此判断下游程序的服务器出现故障,从而实现上下游关联关系的解耦。
但事实上,zookeeper方案在同机房内部的情况下应用比较理想,跨机房部署时,由于zookeeper的服务器存活机制严重依赖网络,当出现网络割裂、抖动的情况致使临时节点被误删除,使得上、下游服务误认为对端服务器有问题,从而导致事故。
发明内容
本发明要解决的技术问题是为了克服现有技术中zookeeper的服务器存活机制严重依赖网络,当出现网络割裂、抖动的情况致使临时节点被误删除,使得上、下游服务认为对端服务器有问题,从而导致事故的缺陷,提供一种程序关联关系的解耦系统和方法。
本发明是通过下述技术方案来解决上述技术问题:
一种程序关联关系的解耦系统,所述解耦系统包括:第一通信库、第一服务器和至少一第二服务器;
所述第一服务器用于运行第一分布式程序;
每台第二服务器用于运行至少一第二分布式程序;
所述第一分布式程序用于调用所述第一通信库监听目标第二分布式程序;
所述第一通信库用于获取所述目标第二分布式程序的程序信息;
所述程序信息包括目标第二服务器的IP地址和目标第二分布式程序的端口信息;
所述第一通信库还用于根据所述程序信息发送探活包至所述目标第二分布式程序,以检测所述第一分布式程序和所述目标第二分布式程序之间的通信状态。
较佳地,所述解耦系统还包括网关、数据库和至少一第二通信库;
所述第一分布式程序还用于调用所述第一通信库发送第一注册请求至所述网关;
所述第一注册请求包括第一程序信息;所述第一程序信息包括所述第一服务器的IP地址和所述第一分布式程序的端口信息;
所述网关用于在接收到所述第一注册请求时,将所述第一服务器的IP地址和所述第一分布式程序的端口信息存储于所述数据库中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711093323.X/2.html,转载请声明来源钻瓜专利网。