一种自动服务发现与负载均衡的方法及系统技术方案

技术编号:21952003 阅读:21 留言:0更新日期:2019-08-24 17:33
本发明专利技术涉及一种自动服务发现与负载均衡的方法及系统,在需要负载的微服务中,通过使用注册中心客户端,使项目在启动时自动将当前服务的节点注册到注册中心;采用配置中心监听注册中心上的已注册的微服务的各种信息与事件,并将监听到的事件与信息相结合,将微服务的信息同步至负载均衡器;负载均衡器在接收到配置中心的同步配置后,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。本发明专利技术能够实现服务的高可用性。

A Method and System for Automatic Service Discovery and Load Balancing

【技术实现步骤摘要】
一种自动服务发现与负载均衡的方法及系统
本专利技术涉及服务器设计领域,特别是一种自动服务发现与负载均衡的方法及系统。
技术介绍
目前,很多项目使用反向代理和负载均衡技术,通过代理服务器接受internet上的连接请求,然后将请求分摊到内部网络上的服务器。在提高可用性方面,往往使用反向代理和负载均衡来提升服务的可用性,但当服务能力的不足,不能动态增加服务节点时;或者服务异常不能即使移除服务节点时,反而影响了服务的可用性。目前很多项目使用手动增加服务,并将新增的服务添加到反向代理服务器中。并且服务异常或外部原因要将服务下线时,需要手动进行操作。
技术实现思路
有鉴于此,本专利技术的目的是提出一种自动服务发现与负载均衡的方法及系统,实现服务的高可用性。本专利技术采用以下方案实现:一种自动服务发现与负载均衡的方法,包括以下步骤:在需要负载的微服务中,通过使用注册中心客户端,使项目在启动时自动将当前服务的节点注册到注册中心;采用配置中心监听注册中心上的已注册的微服务的各种信息与事件,并将监听到的事件与信息相结合,将微服务的信息同步至负载均衡器;负载均衡器在接收到配置中心的同步配置后,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。进一步地,注册中心客户端与注册中心使用长连接,当服务异常或外部原因导致进程挂掉和注册中心断开时,微服务自动从注册中心中进行注销。进一步地,所述配置中心在注册中心上监听的信息包括微服务的分类、所在地址与运行情况,监听的事件包括微服务启动时的注册事件与微服务结束运行时的注销事件。本专利技术还提供了一种基于上文所述的自动服务发现与负载均衡的方法的系统,包括负载均衡器、一个以上的微服务、配置中心以及注册中心;所述微服务中设置有注册中心客户端,当项目在启动时通过该客户端自动将当前服务的节点注册到注册中心;所述配置中心实时监听注册中心上的已注册的微服务的各种信息与事件,其中监听的信息包括微服务的分类、所在地址与运行情况,监听的事件包括微服务启动时的注册事件与微服务结束运行时的注销事件;当配置中心监听到注册中心上的注册事件与注销事件之后,自动结合微服务的分类与运行情况,将微服务的信息同步至负载均衡器;所述负载均衡器接收配置中心的同步配置,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。与现有技术相比,本专利技术有以下有益效果:本专利技术通过自动发现服务与负载均衡,自动更新代理服务器的配置,不用人工进行负载均衡器的增减服务,免去了繁琐的人工操作,避免了操作的失误带来的风险,以及能够及时响应服务的变化,达到服务的高可用性。附图说明图1为本专利技术实施例的原理框图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。如图1所示,本实施例提供了一种自动服务发现与负载均衡的方法,包括以下步骤:在需要负载的微服务中,通过使用注册中心客户端,使项目在启动时自动将当前服务的节点注册到注册中心;采用配置中心监听注册中心上的已注册的微服务的各种信息与事件,并将监听到的事件与信息相结合,将微服务的信息同步至负载均衡器;负载均衡器在接收到配置中心的同步配置后,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。在本实施例中,注册中心客户端与注册中心使用长连接,当服务异常或外部原因导致进程挂掉和注册中心断开时,微服务自动从注册中心中进行注销。在本实施例中,所述配置中心在注册中心上监听的信息包括微服务的分类、所在地址与运行情况,监听的事件包括微服务启动时的注册事件与微服务结束运行时的注销事件。本实施例还提供了一种基于上文所述的自动服务发现与负载均衡的方法的系统,包括负载均衡器、一个以上的微服务、配置中心以及注册中心;所述微服务中设置有注册中心客户端,当项目在启动时通过该客户端自动将当前服务的节点注册到注册中心;所述配置中心实时监听注册中心上的已注册的微服务的各种信息与事件,其中监听的信息包括微服务的分类、所在地址与运行情况,监听的事件包括微服务启动时的注册事件与微服务结束运行时的注销事件;当配置中心监听到注册中心上的注册事件与注销事件之后,自动结合微服务的分类与运行情况,将微服务的信息同步至负载均衡器;所述负载均衡器接收配置中心的同步配置,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。特别的,本实施例中,所述配置中心、负载均衡器、注册中心、注册中心客户端均不受程序语言的约束;以下给出其中一种实现方案,配置中心如confd,负载均衡器如nginx,注册中心如zookeeper,注册中心客户端如curator。本实施例能够自动服务发现与负载均衡,不用人工进行负载均衡器的增减服务,免去了繁琐的人工操作,避免了操作的失误带来的风险,以及能够及时响应服务的变化。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述,仅是本专利技术的较佳实施例而已,并非是对本专利技术作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的
技术实现思路
加以变更或改型为等同变化的等效实施例。但是凡是未脱离本专利技术技术方案内容,依据本专利技术的技术实质对以上实施例所作的任何简单修改、等同变化与改型本文档来自技高网
...

【技术保护点】
1.一种自动服务发现与负载均衡的方法,其特征在于,包括以下步骤:在需要负载的微服务中,通过使用注册中心客户端,使项目在启动时自动将当前服务的节点注册到注册中心;采用配置中心监听注册中心上的已注册的微服务的各种信息与事件,并将监听到的事件与信息相结合,将微服务的信息同步至负载均衡器;负载均衡器在接收到配置中心的同步配置后,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。

【技术特征摘要】
1.一种自动服务发现与负载均衡的方法,其特征在于,包括以下步骤:在需要负载的微服务中,通过使用注册中心客户端,使项目在启动时自动将当前服务的节点注册到注册中心;采用配置中心监听注册中心上的已注册的微服务的各种信息与事件,并将监听到的事件与信息相结合,将微服务的信息同步至负载均衡器;负载均衡器在接收到配置中心的同步配置后,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。2.根据权利要求1所述的一种自动服务发现与负载均衡的方法,其特征在于,注册中心客户端与注册中心使用长连接,当服务异常或外部原因导致进程挂掉和注册中心断开时,微服务自动从注册中心中进行注销。3.根据权利要求1所述的一种自动服务发现与负载均衡的方法,其特征在于,所述配置中心在注册中心上监听的信息包括微服务的分类、所在地址与运行...

【专利技术属性】
技术研发人员:徐家威陈文涛
申请(专利权)人:福建南威软件有限公司
类型:发明
国别省市:福建,35

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

1