CN109246246B - 一种中心化全自动服务发现负载均衡系统 - Google Patents

一种中心化全自动服务发现负载均衡系统 Download PDF

Info

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
Application number
CN201811284630.0A
Other languages
English (en)
Other versions
CN109246246A (zh
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.)
Chengdu Knownsec Information Technology Co ltd
Original Assignee
Chengdu Knownsec Information Technology 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 Chengdu Knownsec Information Technology Co ltd filed Critical Chengdu Knownsec Information Technology Co ltd
Priority to CN201811284630.0A priority Critical patent/CN109246246B/zh
Publication of CN109246246A publication Critical patent/CN109246246A/zh
Application granted granted Critical
Publication of CN109246246B publication Critical patent/CN109246246B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0253Exchanging 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence 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所述的一种中心化全自动服务发现负载均衡系统,其特征在于,所述服务监控中心发现某个服务节点列表信息发生变化,根据之前配置好的负载均衡配置文件模板,渲染生成新的负载均衡文件,自动推送到负载均衡器,并自动控制负载均衡器重新加载配置文件,实现服务自动发现。
CN201811284630.0A 2018-10-31 2018-10-31 一种中心化全自动服务发现负载均衡系统 Active CN109246246B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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.