发明名称 用于分布式系统的负载均衡及高可用性子系统及方法
摘要 本发明提供一种用于分布式系统的负载均衡及高可用性子系统及方法,包括至少2个服务提供者模块、注册中心模块和至少一个客户端模块;服务提供者模块计算自身的服务权值,并将自身能够提供的服务和服务权值注册到注册中心模块,并计算此类服务的服务提供者概率分布;注册中心模块将服务提供者模块注册的服务,以命名树的结构进行统一命名服务,并存储每个服务所对应的服务提供者列表和服务提供者概率分布;客户端模块根据自己要获得的服务名称,获取对应的服务提供者列表和服务提供者概率分布,通过负载均衡算法随机选择一个服务提供者;如果服务提供者可用则直接调用服务模块;如果服务提供者不可用则通过高可用性算法选择可用的服务提供者。
申请公布号 CN103457870A 申请公布日期 2013.12.18
申请号 CN201310441317.4 申请日期 2013.09.25
申请人 武汉理工大学;武汉日电光通信工业有限公司 发明人 钟珞;曹东;柴泽楚;何双江;贺茂强
分类号 H04L12/803(2013.01)I;H04L29/08(2006.01)I 主分类号 H04L12/803(2013.01)I
代理机构 湖北武汉永嘉专利代理有限公司 42102 代理人 王丹
主权项 用于分布式系统的负载均衡及高可用性子系统,其特征在于:它包括至少2个服务提供者模块A30、注册中心模块A10和至少一个客户端模块A20;其中每个服务提供者模块A30包括服务注册模块A31、概率分布计算服务模块A32、服务模块A33和服务权值计算模块A34;服务权值计算模块A34用于服务提供者模块启动时计算服务提供者的服务能力,即服务权值;概率分布计算服务模块A32用于在服务提供者注册时,获取当前时刻其它提供相同服务的服务提供者的信息,并计算此类服务的服务提供者概率分布;服务注册模块A31用于当服务提供者提供服务时向注册中心模块A10注册;服务模块A33用于提供服务;注册中心模块A10包括统一命名服务模块A11、消息通知服务模块A12和服务提供者列表模块A13;统一命名服务模块A11用于在服务提供者注册时,根据服务名生成一个集群内唯一的服务路径供客户端A20查找;服务提供者列表模块A13用于存储每个服务所对应的服务提供者列表和服务提供者概率分布;消息通知服务模块A12用于在高可用性模块A23重新选择一个可用的服务提供者时,将对应的新服务提供者概率分布通知给所有在线的客户端模块A20和所有在线的服务提供者模块A30;客户端模块A20包括注册中心连接器A21、负载均衡模块A22、高可用性模块A23和调用服务模块A24;注册中心连接器A21用于连接注册中心模块A10,根据所需要的服务依据统一命名服务模块A11生成的服务路径,从服务提供者列表模块A13中获得对应的服务提供者列表和服务提供者概率分布;负载均衡模块A22用于根据服务提供者概率分布进行负载均衡计算,随机选择一个服务提供者;调用服务模块A24用于在负载均衡模块A22选择的服务提供者可用时,调用对应服务提供者模块A30的服务模块A33;高可用性模块A23用于在负载均衡模块A22选择的服务提供者不可用时,重新选择一个可用的服务提供者,并重新计算此服务对应的新服务提供者概率分布。
地址 430070 湖北省武汉市洪山区珞狮路122号
您可能感兴趣的专利