CN110162405A - 一种自动服务发现与负载均衡的方法及系统 - Google Patents

一种自动服务发现与负载均衡的方法及系统 Download PDF

Info

Publication number
CN110162405A
CN110162405A CN201910465952.3A CN201910465952A CN110162405A CN 110162405 A CN110162405 A CN 110162405A CN 201910465952 A CN201910465952 A CN 201910465952A CN 110162405 A CN110162405 A CN 110162405A
Authority
CN
China
Prior art keywords
micro services
center
registration center
automatically
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910465952.3A
Other languages
English (en)
Inventor
徐家威
陈文涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Linewell Software Co Ltd
Linewell Software Co Ltd
Original Assignee
Fujian Linewell Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Linewell Software Co Ltd filed Critical Fujian Linewell Software Co Ltd
Priority to CN201910465952.3A priority Critical patent/CN110162405A/zh
Publication of CN110162405A publication Critical patent/CN110162405A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种自动服务发现与负载均衡的方法及系统,在需要负载的微服务中,通过使用注册中心客户端,使项目在启动时自动将当前服务的节点注册到注册中心;采用配置中心监听注册中心上的已注册的微服务的各种信息与事件,并将监听到的事件与信息相结合,将微服务的信息同步至负载均衡器;负载均衡器在接收到配置中心的同步配置后,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。本发明能够实现服务的高可用性。

Description

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

Claims (4)

1.一种自动服务发现与负载均衡的方法,其特征在于,包括以下步骤:
在需要负载的微服务中,通过使用注册中心客户端,使项目在启动时自动将当前服务的节点注册到注册中心;
采用配置中心监听注册中心上的已注册的微服务的各种信息与事件,并将监听到的事件与信息相结合,将微服务的信息同步至负载均衡器;
负载均衡器在接收到配置中心的同步配置后,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。
2.根据权利要求1所述的一种自动服务发现与负载均衡的方法,其特征在于,注册中心客户端与注册中心使用长连接,当服务异常或外部原因导致进程挂掉和注册中心断开时,微服务自动从注册中心中进行注销。
3.根据权利要求1所述的一种自动服务发现与负载均衡的方法,其特征在于,所述配置中心在注册中心上监听的信息包括微服务的分类、所在地址与运行情况,监听的事件包括微服务启动时的注册事件与微服务结束运行时的注销事件。
4.一种基于权利要求1-3任一项所述的自动服务发现与负载均衡的方法的系统,其特征在于,包括负载均衡器、一个以上的微服务、配置中心以及注册中心;
所述微服务中设置有注册中心客户端,当项目在启动时通过该客户端自动将当前服务的节点注册到注册中心;
所述配置中心实时监听注册中心上的已注册的微服务的各种信息与事件,其中监听的信息包括微服务的分类、所在地址与运行情况,监听的事件包括微服务启动时的注册事件与微服务结束运行时的注销事件;当配置中心监听到注册中心上的注册事件与注销事件之后,自动结合微服务的分类与运行情况,将微服务的信息同步至负载均衡器;
所述负载均衡器接收配置中心的同步配置,当外部连接请求访问时,通过负载均衡算法的计算,自动将请求分配到新的微服务上。
CN201910465952.3A 2019-05-31 2019-05-31 一种自动服务发现与负载均衡的方法及系统 Pending CN110162405A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910465952.3A CN110162405A (zh) 2019-05-31 2019-05-31 一种自动服务发现与负载均衡的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910465952.3A CN110162405A (zh) 2019-05-31 2019-05-31 一种自动服务发现与负载均衡的方法及系统

Publications (1)

Publication Number Publication Date
CN110162405A true CN110162405A (zh) 2019-08-23

Family

ID=67630208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910465952.3A Pending CN110162405A (zh) 2019-05-31 2019-05-31 一种自动服务发现与负载均衡的方法及系统

Country Status (1)

Country Link
CN (1) CN110162405A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971449A (zh) * 2019-10-25 2020-04-07 武汉烽火众智数字技术有限责任公司 一种基于微服务架构的服务管控系统
CN111064626A (zh) * 2020-01-02 2020-04-24 广州虎牙科技有限公司 配置更新方法、装置、服务器及可读存储介质
CN111314141A (zh) * 2020-02-21 2020-06-19 腾讯云计算(北京)有限责任公司 路由更新方法及装置
CN111314455A (zh) * 2020-02-12 2020-06-19 深圳供电局有限公司 一种容器微服务it监控系统及方法
CN111478955A (zh) * 2020-03-31 2020-07-31 招商局金融科技有限公司 微服务注册方法、系统、装置和计算机可读存储介质
CN112445580A (zh) * 2019-08-28 2021-03-05 烽火通信科技股份有限公司 一种微服务分组管理控制方法及系统
CN112596929A (zh) * 2020-12-28 2021-04-02 恒生电子股份有限公司 基于命令事件转换的微服务注册、调用方法及相关装置
CN113688021A (zh) * 2021-08-13 2021-11-23 济南浪潮数据技术有限公司 一种负载均衡服务处理方法、装置、设备及可读存储介质
CN115022318A (zh) * 2022-05-30 2022-09-06 在线途游(北京)科技有限公司 一种基于微服务架构的消息发布方法及系统
CN115190158A (zh) * 2021-03-22 2022-10-14 北京小米移动软件有限公司 信息交互方法、信息交互装置、系统及存储介质
CN115426248A (zh) * 2022-08-01 2022-12-02 中国人民银行数字货币研究所 服务管理方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107102847A (zh) * 2016-02-23 2017-08-29 中国水电工程顾问集团有限公司 基于微服务的软件开发方法、装置及系统
US20180219863A1 (en) * 2017-01-31 2018-08-02 Pivotal Software, Inc. Invocation path security in distributed systems
CN108600360A (zh) * 2018-04-18 2018-09-28 国电南京自动化股份有限公司 一种基于zookeeper的REST服务系统和方法
CN109104483A (zh) * 2018-08-10 2018-12-28 北京东软望海科技有限公司 一种基于事件通知的微服务动态负载均衡的方法及装置
CN109257440A (zh) * 2018-10-29 2019-01-22 南京南瑞信息通信科技有限公司 一种基于服务注册中心的服务发现和客户端负载均衡方法
US20190102157A1 (en) * 2017-09-30 2019-04-04 Oracle International Corporation Optimizing redeployment of functions and services across multiple container platforms and installations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107102847A (zh) * 2016-02-23 2017-08-29 中国水电工程顾问集团有限公司 基于微服务的软件开发方法、装置及系统
US20180219863A1 (en) * 2017-01-31 2018-08-02 Pivotal Software, Inc. Invocation path security in distributed systems
US20190102157A1 (en) * 2017-09-30 2019-04-04 Oracle International Corporation Optimizing redeployment of functions and services across multiple container platforms and installations
CN108600360A (zh) * 2018-04-18 2018-09-28 国电南京自动化股份有限公司 一种基于zookeeper的REST服务系统和方法
CN109104483A (zh) * 2018-08-10 2018-12-28 北京东软望海科技有限公司 一种基于事件通知的微服务动态负载均衡的方法及装置
CN109257440A (zh) * 2018-10-29 2019-01-22 南京南瑞信息通信科技有限公司 一种基于服务注册中心的服务发现和客户端负载均衡方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112445580A (zh) * 2019-08-28 2021-03-05 烽火通信科技股份有限公司 一种微服务分组管理控制方法及系统
CN110971449A (zh) * 2019-10-25 2020-04-07 武汉烽火众智数字技术有限责任公司 一种基于微服务架构的服务管控系统
CN111064626B (zh) * 2020-01-02 2023-05-26 广州虎牙科技有限公司 配置更新方法、装置、服务器及可读存储介质
CN111064626A (zh) * 2020-01-02 2020-04-24 广州虎牙科技有限公司 配置更新方法、装置、服务器及可读存储介质
CN111314455A (zh) * 2020-02-12 2020-06-19 深圳供电局有限公司 一种容器微服务it监控系统及方法
CN111314141A (zh) * 2020-02-21 2020-06-19 腾讯云计算(北京)有限责任公司 路由更新方法及装置
CN111478955A (zh) * 2020-03-31 2020-07-31 招商局金融科技有限公司 微服务注册方法、系统、装置和计算机可读存储介质
CN112596929A (zh) * 2020-12-28 2021-04-02 恒生电子股份有限公司 基于命令事件转换的微服务注册、调用方法及相关装置
CN115190158A (zh) * 2021-03-22 2022-10-14 北京小米移动软件有限公司 信息交互方法、信息交互装置、系统及存储介质
CN113688021A (zh) * 2021-08-13 2021-11-23 济南浪潮数据技术有限公司 一种负载均衡服务处理方法、装置、设备及可读存储介质
CN113688021B (zh) * 2021-08-13 2023-12-22 济南浪潮数据技术有限公司 一种负载均衡服务处理方法、装置、设备及可读存储介质
CN115022318A (zh) * 2022-05-30 2022-09-06 在线途游(北京)科技有限公司 一种基于微服务架构的消息发布方法及系统
CN115022318B (zh) * 2022-05-30 2023-08-29 在线途游(北京)科技有限公司 一种基于微服务架构的消息发布方法及系统
CN115426248A (zh) * 2022-08-01 2022-12-02 中国人民银行数字货币研究所 服务管理方法、装置、设备及存储介质
CN115426248B (zh) * 2022-08-01 2023-10-20 中国人民银行数字货币研究所 服务管理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN110162405A (zh) 一种自动服务发现与负载均衡的方法及系统
US9596134B2 (en) Synchronization of configuration file of virtual application distribution chassis
US10644952B2 (en) VNF failover method and apparatus
US9058213B2 (en) Cloud-based mainframe integration system and method
CN108989136B (zh) 业务端到端性能监控方法及装置
KR101408037B1 (ko) 클라우드 시스템에서의 가상 머신 통합 모니터링 장치 및 방법
CN110262902B (zh) 信息处理方法及系统、介质和计算设备
CN109450936A (zh) 一种基于Kafka的异构通信协议的适配方法及装置
CN109787827B (zh) 一种cdn网络监控的方法及装置
US11283907B2 (en) Determining state of virtual router instance
CN110266822A (zh) 一种基于nginx的共享式负载均衡实现方法
CN113778623A (zh) 资源处理方法和装置、电子设备及存储介质
CN109451078A (zh) 一种分布式架构下的事务处理方法和装置
CN102404388B (zh) 一种应用虚拟化的负载分担方法及装置
US10498617B1 (en) System, method, and computer program for highly available and scalable application monitoring
US8468238B2 (en) Computer product, apparatus and method for generating configuration-information for use in monitoring information technology services
US10567262B1 (en) Dynamic server device monitoring
CN109714214A (zh) 一种服务器异常的处理方法及管理设备
CN105978939A (zh) 一种数据下载方法及设备
US8214826B2 (en) Optimized targeting in a large scale system
CN106878356B (zh) 一种调度方法及计算节点
WO2016206433A1 (zh) 服务器负载均衡的方法及装置
CN106790610A (zh) 一种云系统消息分发方法,装置和系统
US7647401B1 (en) System and method for managing resources of a network load balancer via use of a presence server
WO2024021471A1 (zh) 一种服务更新方法、装置、系统和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190823

RJ01 Rejection of invention patent application after publication