CN109246246B - 一种中心化全自动服务发现负载均衡系统 - Google Patents
一种中心化全自动服务发现负载均衡系统 Download PDFInfo
- Publication number
- CN109246246B CN109246246B CN201811284630.0A CN201811284630A CN109246246B CN 109246246 B CN109246246 B CN 109246246B CN 201811284630 A CN201811284630 A CN 201811284630A CN 109246246 B CN109246246 B CN 109246246B
- Authority
- CN
- China
- Prior art keywords
- service
- load balancing
- monitoring center
- configuration
- center
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0253—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using browsers or web-pages for accessing management information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/0816—Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种中心化全自动服务发现负载均衡系统,系统由服务注册中心和服务监控中心组成,其中服务注册中心包括http服务线程、全局定时器协程和内部存储;服务监控中心包括http负载均衡服务线程、定时轮询协程、数据库和Web界面;服务注册中心不直接对微服务系统的状态进行干预,只接受注册、下载、心跳请求,然后通过服务监控中心更新负载均衡器配置;本发明能对大规模微服务架构中的服务节点信息进行自动化、中心化管理;系统管理员可通过服务注册中心管理面板方便地查看服务数量和分布;系统管理员可以在服务监控中心管理面板集中管理系统所有负载均衡配置。
Description
技术领域
本发明涉及微服务的负载均衡领域,特别是一种自动化中心化的服务发现负载均衡系统。
背景技术
在微服务的架构中,每个服务都有多个副本。当服务A需要与服务B通信时,必须为服务A提供至少一个适当的服务B的IP地址或主机名(客户端负载均衡),或者服务A委托地址解析和路由给第三方到一个服务B的IP地址或主机名(服务端负载均衡)。一般当服务规模较小时,适合使用服务端负载均衡;服务规模较大时,避免服务端负载均衡节点成为系统瓶颈,较多使用客户端负载均衡。本发明讨论的是服务端负载均衡。服务端负载均衡也常用于对外提供服务的网关层。
在服务实例新建和销毁过程中,服务端负载均衡系统需要能够感知到服务集群的状态变化,并且调整负载均衡配置。一般微服务系统需要包含服务注册和服务自动发现模块,用以动态改变服务的负载均衡配置。
Consul是一种用于服务注册存储服务;Consul-Template是部署在负载均衡节点上的服务发现应用,它通过轮训Consul中存储的键值对,来更新所在节点的负载均衡配置。
但是,Consul组件不支持服务端主动发送心跳,Consul-Template组件需要部署在负载均衡机器上,不能满足负载均衡配置的中心化管理。
发明内容
为解决上述技术问题,本发明提供一种中心化全自动服务发现负载均衡系统,本系统由服务注册中心和服务监控中心组成,服务注册中心和服务监控中心位于微服务系统的外围;其中服务注册中心包括:
http服务线程:提供http接口服务,包含注册,取消注册,心跳,获取服务实例列表的接口;
全局定时器协程:此协程按照配置的时间间隔定时检查各服务实例的心跳情况,并随机踢除没有心跳的实例,并在获取服务实例列表中踢除这些实例;
内部存储:使用内存存储已经注册的服务实例列表;
服务注册中心主要功能:
1.服务注册:服务注册中心接受服务实例上线的注册请求,请求参数至少包含唯一服务地址,服务所属分类。
2.心跳检测:服务实例注册成功之后,为了保证服务可用,服务实例需定时向服务注册中心发送心跳。
3.随机下线不可用服务:服务注册中心定期随机下线没有心跳的服务(此时服务实例异常退出或不可用)。
其中服务监控中心包括:
http负载均衡服务线程:提供服务负载均衡配置模板增加、删除、修改、查询的接口;
定时轮询协程:根据配置好的各个服务负载均衡配置,定时轮询服务注册中心,根据服务列表,自动更新负载均衡配置,实现服务自动发现;
数据库:存储服务负载均衡配置模板;
Web界面:提供管理员操作服务负载均衡配置模板界面;
服务监控中心主要功能:
1.模板配置:监控中心(Web界面)可以手动设置某个服务对应的负载均衡配置文件模板。
2.轮询服务列表:监控中心使用轮询模式,向服务注册中心请求某个服务的节点列表内容。
3.动态更新负载均衡:监控中心发现某个服务节点列表信息发生变化,根据之前配置好的负载均衡配置文件模板,渲染生成新的负载均衡文件,自动推送到负载均衡器,并自动控制负载均衡器重新加载配置文件,实现服务自动发现。
服务注册中心不直接对微服务系统的状态进行干预,只接受注册、下载、心跳请求,然后通过服务监控中心更新负载均衡器配置,降低微服务系统复杂度;
本系统工作流程:
1、服务注册中心接受服务节点的上线、下线、心跳请求;
2、接着服务监控中心通过轮询服务注册中心获取最新服务实例,修改负载均衡器配置;
3、负载均衡器加载或下线服务实例;
4、进而控制服务节点的上线、下线和异常退出。
本发明的有益效果为:
使用本系统,能对大规模微服务架构中的服务节点信息进行自动化、中心化管理。系统管理员可通过服务注册中心管理面板方便地查看服务数量和分布。系统管理员可以在服务监控中心管理面板集中管理系统所有负载均衡配置。
附图说明
图1为本系统架构图;
图2为服务节点上线流程图;
图3为服务节点下线流程图;
图4为服务节点异常退出流程图。
具体实施方式
下面结合附图和具体实施例对本发明做详细的说明。
图1为本系统架构图,可知,本系统由服务注册中心和服务监控中心组成,服务注册中心和服务监控中心位于微服务系统的外围;其中服务注册中心包括:
http服务线程:提供http接口服务,包含注册,取消注册,心跳,获取服务实例列表的接口;
全局定时器协程:此协程按照配置的时间间隔定时检查各服务实例的心跳情况,并随机踢除没有心跳的实例,并在获取服务实例列表中踢除这些实例;
内部存储:使用内存存储已经注册的服务实例列表;
其中服务监控中心包括:
http负载均衡服务线程:提供服务负载均衡配置模板增加、删除、修改、查询的接口;
定时轮询协程:根据配置好的各个服务负载均衡配置,定时轮询服务注册中心,根据服务列表,自动更新负载均衡配置,实现服务自动发现;
数据库:存储服务负载均衡配置模板;
Web界面:提供管理员操作服务负载均衡配置模板界面;
服务注册中心不直接对微服务系统的状态进行干预,只接受注册、下载、心跳请求,然后通过服务监控中心更新负载均衡器配置,降低微服务系统复杂度。
现以服务节点上线,下线,异常退出三种情况来说明系统工作流程。
1、服务节点上线:
(1)服务节点请求在服务注册中心注册;(2)服务监控中心通过轮询服务注册中心获取最新服务实例;(3)服务监控中心修改负载均衡器配置;(4)负载均衡器加载包含该节点的配置文件。图2为服务节点上线流程图。
2、服务节点下线
(1)服务节点准备退出前,发出退出请求到服务注册中心;(2)服务监控中心通过轮询服务注册中心获取最新服务实例;(3)服务监控中心修改负载均衡器配置;(4)负载均衡器加载不包含该节点的配置文件;(5)服务实例退出。图3为服务节点上线流程图。
3、服务节点异常退出
(1)服务节点异常退出;(2)服务注册中心在心跳周期内未收到该节点心跳,定期随机将该节点下线;(3)服务监控中心通过轮询服务注册中心获取最新服务实例;(4)服务监控中心修改负载均衡器配置;(5)负载均衡器加载不包含该节点的配置文件。图4为服务节点异常退出流程图。
Claims (4)
1.一种中心化全自动服务发现负载均衡系统,其特征在于,本系统由服务注册中心和服务监控中心组成,服务注册中心和服务监控中心位于微服务系统的外围;所述服务注册中心包括:
http服务线程:提供http接口服务,包含注册,取消注册,心跳,获取服务实例列表的接口;
全局定时器协程:此协程按照配置的时间间隔定时检查各服务实例的心跳情况,并随机踢除没有心跳的实例,并在获取服务实例列表中踢除这些实例;
内部存储:使用内存存储已经注册的服务实例列表;
所述服务监控中心包括:
http负载均衡服务线程:提供服务负载均衡配置模板增加、删除、修改、查询的接口;
定时轮询协程:根据配置好的各个服务负载均衡配置,定时轮询服务注册中心,根据服务列表,自动更新负载均衡配置,实现服务自动发现;
数据库:存储服务负载均衡配置模板;
Web界面:提供管理员操作服务负载均衡配置模板界面;
所述服务注册中心不直接对微服务系统的状态进行干预,只接受注册、下载、心跳请求,然后通过服务监控中心更新负载均衡器配置,降低微服务系统复杂度;
本系统工作流程:
(1)服务注册中心接受服务节点的上线、下线、心跳请求;
(2)接着服务监控中心通过轮询服务注册中心获取最新服务实例,修改负载均衡器配置;
(3)负载均衡器加载或下线服务实例;
(4)进而控制服务节点的上线、下线和异常退出。
2.根据权利要求1所述的一种中心化全自动服务发现负载均衡系统,其特征在于,所述服务实例在注册成功之后,为了保证服务可用,服务实例需定时向服务注册中心发送心跳,如果服务实例异常退出,服务注册中心无法收到心跳请求,踢出该服务节点;同时服务监控中心通过修改负载均衡器配置下线该服务实例。
3.根据权利要求1所述的一种中心化全自动服务发现负载均衡系统,其特征在于,所述Web界面可以手动设置某个服务对应的负载均衡配置文件模板。
4.根据权利要求1所述的一种中心化全自动服务发现负载均衡系统,其特征在于,所述服务监控中心发现某个服务节点列表信息发生变化,根据之前配置好的负载均衡配置文件模板,渲染生成新的负载均衡文件,自动推送到负载均衡器,并自动控制负载均衡器重新加载配置文件,实现服务自动发现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811284630.0A CN109246246B (zh) | 2018-10-31 | 2018-10-31 | 一种中心化全自动服务发现负载均衡系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811284630.0A CN109246246B (zh) | 2018-10-31 | 2018-10-31 | 一种中心化全自动服务发现负载均衡系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109246246A CN109246246A (zh) | 2019-01-18 |
CN109246246B true CN109246246B (zh) | 2021-03-19 |
Family
ID=65079763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811284630.0A Active CN109246246B (zh) | 2018-10-31 | 2018-10-31 | 一种中心化全自动服务发现负载均衡系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109246246B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401696B (zh) | 2019-06-18 | 2020-11-06 | 华为技术有限公司 | 一种去中心化处理的方法、通信代理、主机以及存储介质 |
CN110677347B (zh) * | 2019-08-19 | 2021-08-17 | 荣邦科技有限公司 | 一种用于微服务的服务注册和服务发现的方法 |
CN110502761B (zh) * | 2019-08-27 | 2023-09-19 | 北京金山数字娱乐科技有限公司 | 一种翻译平台及其负载调整方法 |
CN110535939B (zh) * | 2019-08-29 | 2022-02-11 | 深圳前海环融联易信息科技服务有限公司 | 一种服务发现与抢占方法、装置、计算机设备及存储介质 |
CN110708356B (zh) * | 2019-09-06 | 2024-01-05 | 国云科技股份有限公司 | 一种注册中心管理第三方应用的方法和系统 |
CN111615066B (zh) * | 2020-02-07 | 2021-07-16 | 中国海洋大学 | 一种基于广播的分布式微服务注册及调用方法 |
CN111314455A (zh) * | 2020-02-12 | 2020-06-19 | 深圳供电局有限公司 | 一种容器微服务it监控系统及方法 |
CN111475372A (zh) * | 2020-03-10 | 2020-07-31 | 中国平安人寿保险股份有限公司 | 微服务的服务实例监控方法、装置、设备及存储介质 |
CN111414230A (zh) * | 2020-03-18 | 2020-07-14 | 北京达佳互联信息技术有限公司 | 服务管理系统、服务管理方法、服务器、存储介质 |
CN111930561B (zh) * | 2020-07-02 | 2021-07-27 | 上海微亿智造科技有限公司 | 流式任务自动化监控告警重启系统及方法 |
CN111949482B (zh) * | 2020-08-13 | 2022-05-20 | 广东佳米科技有限公司 | 一种基于线程负载的软件性能瓶颈指征方法及系统 |
CN112217859A (zh) * | 2020-08-28 | 2021-01-12 | 厦门快商通科技股份有限公司 | 负载均衡方法、系统、移动终端及存储介质 |
CN112311869B (zh) * | 2020-10-28 | 2022-04-05 | 苏州万店掌网络科技有限公司 | 多类型微服务注册中心管理系统及方法 |
CN112367221A (zh) * | 2020-10-28 | 2021-02-12 | 常州微亿智造科技有限公司 | 一种工业物联网下分布式注册中心推荐方法 |
CN112738223B (zh) * | 2020-12-28 | 2023-03-03 | 北京计算机技术及应用研究所 | 一种面向感知资源动态接入的微服务平台 |
CN113157441B (zh) * | 2021-03-24 | 2023-03-14 | 北京云上曲率科技有限公司 | 一种分布式去中心化的负载均衡方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016176601A1 (en) * | 2015-04-30 | 2016-11-03 | Lifespeed, Inc. | Massively-scalable, asynchronous backend cloud computing architecture |
CN106453125A (zh) * | 2016-11-04 | 2017-02-22 | 中国电子科技集团公司第二十八研究所 | 一种基于实时负载率的远程服务调用负载均衡系统 |
CN106506605A (zh) * | 2016-10-14 | 2017-03-15 | 华南理工大学 | 一种基于微服务架构的SaaS应用构建方法 |
CN106850832A (zh) * | 2017-03-01 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种基于微服务架构的云管理系统 |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN108712464A (zh) * | 2018-04-13 | 2018-10-26 | 中国科学院信息工程研究所 | 一种面向集群微服务高可用的实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10313362B2 (en) * | 2016-07-29 | 2019-06-04 | ShieldX Networks, Inc. | Systems and methods for real-time configurable load determination |
-
2018
- 2018-10-31 CN CN201811284630.0A patent/CN109246246B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016176601A1 (en) * | 2015-04-30 | 2016-11-03 | Lifespeed, Inc. | Massively-scalable, asynchronous backend cloud computing architecture |
CN107612955A (zh) * | 2016-07-12 | 2018-01-19 | 深圳市远行科技股份有限公司 | 微服务提供方法、装置及系统 |
CN106506605A (zh) * | 2016-10-14 | 2017-03-15 | 华南理工大学 | 一种基于微服务架构的SaaS应用构建方法 |
CN106453125A (zh) * | 2016-11-04 | 2017-02-22 | 中国电子科技集团公司第二十八研究所 | 一种基于实时负载率的远程服务调用负载均衡系统 |
CN106850832A (zh) * | 2017-03-01 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种基于微服务架构的云管理系统 |
CN108712464A (zh) * | 2018-04-13 | 2018-10-26 | 中国科学院信息工程研究所 | 一种面向集群微服务高可用的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109246246A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246246B (zh) | 一种中心化全自动服务发现负载均衡系统 | |
US9071609B2 (en) | Methods and apparatus for performing dynamic load balancing of processing resources | |
US8375001B2 (en) | Master monitoring mechanism for a geographical distributed database | |
CN111615066B (zh) | 一种基于广播的分布式微服务注册及调用方法 | |
CN111190736A (zh) | 基于微服务的低入侵分布式定时任务调度系统及方法 | |
JP2002500785A (ja) | ネットワーク・サービスの負荷平衡化及びフェールオーバ | |
CN109274707A (zh) | 一种负载调度方法及装置 | |
US9071612B2 (en) | Service providing system | |
WO2008110983A1 (en) | Dynamic load balancing | |
CN112637332B (zh) | 一种服务注册发现方法和系统 | |
US10802896B2 (en) | Rest gateway for messaging | |
CN116566984B (zh) | 一种k8s容器集群的路由信息创建方法、装置及电子设备 | |
CN110798329A (zh) | 物联网网关接入方法、设备以及存储介质 | |
CN110187972A (zh) | 一种基于api的软负载均衡实现方案 | |
EP1354449A1 (en) | Computer solution and software product to establish error tolerance in a network environment | |
CN113810474B (zh) | 一种请求的分流方法及终端 | |
CN106850747B (zh) | 一种分布式实时转码系统的转码节点管理系统及方法 | |
US20020078340A1 (en) | Extension of the BOOTP protocol towards automatic reconfiguration | |
US7948983B2 (en) | Method, computer program product, and apparatus for providing passive automated provisioning | |
US20230146880A1 (en) | Management system and management method | |
CN116860382A (zh) | 基于容器的微服务集群实现的方法及装置 | |
CN111338647B (zh) | 一种大数据集群管理方法和装置 | |
US10771539B2 (en) | Systems and methods for cross-cluster service provision | |
CN104935679B (zh) | 信息处理装置和信息处理方法 | |
US20100125659A1 (en) | Method and Apparatus Regarding the Automatic Transmission of Operational State Event and Time Information |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 9/F, Block C, No. 28 Tianfu Avenue North Section, Chengdu High tech Zone, China (Sichuan) Pilot Free Trade Zone, Chengdu City, Sichuan Province, 610000 Patentee after: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd. Address before: 610000, 11th floor, building 2, No. 219, Tianfu Third Street, hi tech Zone, Chengdu, Sichuan Province Patentee before: CHENGDU KNOWNSEC INFORMATION TECHNOLOGY Co.,Ltd. |