CN107332716A - 一种提高大型分布式系统配置效率的方法 - Google Patents
一种提高大型分布式系统配置效率的方法 Download PDFInfo
- Publication number
- CN107332716A CN107332716A CN201710698628.7A CN201710698628A CN107332716A CN 107332716 A CN107332716 A CN 107332716A CN 201710698628 A CN201710698628 A CN 201710698628A CN 107332716 A CN107332716 A CN 107332716A
- Authority
- CN
- China
- Prior art keywords
- configuration
- idc
- center
- nodes
- node
- 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
Links
Classifications
-
- 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
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- 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/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种提高大型分布式系统配置效率的方法,设有一个统一的配置中心,配置中心通过协议把集群中的IDC节点分为三种状态,通过多个副本来保证配置信息的高可用和冗余备份;当需要全网或灰度更新配置时,由控制端向该配置中心发起更新指令,由配置中心将此次更新的配置下发至其他IDC节点,采用领导人机制,大大简化了对复制日志的管理,不仅结省了人力开支;而且周期可以根据系统的需要自行定义,对于规则的调整具有很强的灵活性和时效性。
Description
技术领域
本发明涉及互联网技术领域,尤其是涉及一种提高大型分布式系统配置效率的方法。
背景技术
随着社会的发展,互联网用户快速增长带动了互联网经济的蓬勃发展,移动互联网、电子商务、网络视频、品牌网络广告、网上招聘、网络游戏等在极短的时间得到快速发展并积累了众多用户,成为了人们生活中不可或缺的一部分。
让人们越来越关注互联网技术的更新,如何更好更快更方便的共享互联网资源,成为人们共同的焦点。
在建设大型分布式系统时,大量节点分布在不同区域的若干IDC机房,系统分别部署在这些IDC机房的节点上。当需要修改系统某个配置时,需要向全网成百上千的IDC 节点分发该配置,因此在大型分布式系统的参数配置具有工作量大,工作繁琐的特点。
该场景主要面临如下几个问题:
1.如何方便地收敛同步所有节点的配置。在不同的节点,有可能存在系统的配置版本不一致的问题,要在成百上千的节点中将系统的配置信息进行归纳整理是一项非常复杂的工作,需要付出大量的人力成本和时间成本。
2.如何保证所有节点配置的一致性。成百上千节点的配置修改工作,其工作量非常巨大,稍有不慎就可能导致配置不正确,因此配置修改的一致性很难得到保障。
3.如何处理跨区域的网络问题,可能存在部分节点网络不可达的问题,这样可能导致配置修改的操作无法完成;
4.如果保证配置的时效性,成百上千个节点的配置更新操作,是一项耗时的工作,这样就很难保证配置修改的时效性。
目前通常的做法是由系统管理员登录到不同节点的系统中,分别进行系统配置的修改,将系统配置一套一套地进行修改,这样不仅耗时耗力,而且很容易出错,配置的一致性也很难得到保障。
发明内容
本发明的目的在于提供一种提高大型分布式系统配置效率的方法,以解决上述背景技术中提出的问题和缺陷,形成一个统一的配置中心,配置信息通过版本机制管理,方便回溯和回滚。
为实现上述目的,本发明提供如下技术方案:
一种提高大型分布式系统配置效率的方法,设有一个统一的配置中心,配置中心通过协议把集群中的IDC节点分为三种状态,通过多个副本来保证配置信息的高可用和冗余备份;
当需要全网或灰度更新配置时,由控制端向该配置中心发起更新指令,由配置中心将此次更新的配置下发至其他IDC节点。
在上述技术方案中,配置中心把集群中的IDC节点分为三种状态,具体是指领导者、追随者、候选者,其中:领导者负责日志的同步管理,处理来自客户端的请求,与追随者通过心跳线保持联系;追随者负责响应领导者的日志同步请求,把从候选者到追随者的请求事务转发给领导者;候选者负责选举投票。
在上述技术方案中,一个IDC节点中部署有多台服务器,多台服务器构成一个IDC节点。
在上述技术方案中,配置中心的配置信息为类似于文本文件的信息,配置中心将这些信息备份成另外一份或者多份,即为多个副本。
在上述技术方案中,当协议运行提供服务的时候只存在领导者与候选者两种状态;
刚启动时所有IDC节点均为追随者状态,启动时由一个节点从追随者转为候选者发起选举,配置中心通过协议选举一个领导者,然后给予他全部的管理复制日志的责任来实现一致性,领导者从客户端接收日志条目,把日志条目复制到其他服务器上,并且当保证安全性的时候告诉其他的服务器应用日志条目到他们的状态机中。
作为上述技术方案的优选,配置信息通过版本机制进行管理,用于方便回溯和回滚。
作为上述技术方案的优选,配置中心借助开源组件consul、通过gossip协议,将配置指标从配置中心同步到外围IDC节点,该协议保证配置在各IDC节点之间的最终一致性,同步时通过重试机制以适应跨区域网络的抖动异常。
作为上述技术方案的优选,在配置中心同步配置信息时,会启动Gossip服务,Gossip服务启动后会启动一个任务GossipTask,这个任务会周期性地与其他IDC节点进行通信。
作为上述技术方案的进一步说明,IDC节点接收到配置中心的配置信息之后,将该配置信息进一步分发至本IDC内部的各系统组件,具体实现过程如下:
Q1在IDC节点安装单独的程序(以下简称节点程序)用于接收配置信息;
Q2程序在接收到配置信息后,依次调用本IDC节点内所有设备的api接口,通过api接口分发到IDC节点内部各系统组件,实现配置信息的更新。
作为上述技术方案的优选,IDC节点程序从配置中心接收、同步完配置之后,通知配置中心本IDC节点已同步完成,配置中心感知到全网所有节点的配置状态,并记录IDC 节点内每台设备的版本信息,对于没有上报同步结果的IDC节点,配置中心将进行重试,重试次数及频率由人工设置或根据需要做相应的调整;当达到重试次数以后仍不能接收到IDC节点上报的同步成功的信息,将由人工进行更新,以上操作以适应某IDC节点故障的场景。
在上述技术方案中,配置中心感知到全网所有节点的配置状态,具体为,IDC节点在配置同步完成以后,会返回给配置中心一条信息,这条信息告诉配置中心该IDC节点的配置同步工作已经完成,配置中心接收到该信息以后由此感知该节点的配置状态。
作为上述技术方案的优选,每个节点向配置中心订阅自身需要的配置项,当节点发现本节点内的系统版本信息为最新时,则向配置中心进行反馈,配置中心接收到反馈以后则不再向该节点发起更新操作,以减少无用信息的传输。
本发明的优点:
本发明实施例提供的一种提高大型分布式系统配置效率的方法,采用领导人机制,大大简化了对复制日志的管理。例如,领导者可以决定新的日志条目需要放在日志中的什么位置而不需要和其他服务器商议,并且数据都从领导者流向其他服务器。一个领导者可以宕机,可以和其他服务器失去连接,这时一个新的领导人会被选举出来。
不仅结省了人力开支;而且周期可以根据系统的需要自行定义,对于规则的调整具有很强的灵活性和时效性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1的一种提高大型分布式系统配置效率的方法的结构示意图。
图2为本发明实施例2的一种提高大型分布式系统配置效率的方法的结构示意图。
图3为本发明实施例3的一种提高大型分布式系统配置效率的方法的 IDC节点接收到配置中心的配置信息之后,进一步分发至本IDC内部的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,我们刚启动时所有节点为追随者状态,此实施例中我们采用Raft协议,协议启动时,节点从追随者状态转为候选者状态,负责选举投票,选举出领导者的节点,该节点即转为领导者状态,其余的节点从追随者状态转为候选者。
配置中心通过Raft协议选举一个领导者,然后给予他全部的管理复制日志的责任来实现一致性,领导者从客户端接收日志条目,把日志条目复制到其他服务器上,并且当保证安全性的时候告诉其他的服务器应用日志条目到他们的状态机中。
实施例2
如图2所示,在配置中心同步配置信息时,会启动Gossip服务,Gossip服务启动后会启动一个任务GossipTask,这个任务会周期性地与其他节点进行通信。
Gossip:Gossip算法,Gossip是一个最终一致性算法;
Digest:摘要;
Synmessage:是TCP/IP建立连接时使用的握手信号;
Ackmessage、Ack2message均为应答信号。
通信的过程是从节点A发送一个数据包即握手信号给节点B,如果节点B正常,则会向节点A返回表明节点B正常的数据包即应答信号,节点A接收到这个数据包即应答信号以后就可以得知节点B正常。
1.consul是一个服务管理软件,具有如下几个特点:
(1)使用Raft算法来保证一致性,Raft协议的特点前面已有描述。
(2)支持多数据中心,内外网的服务采用不同的端口进行监听,这样可以避免单点故障。
(3)支持健康检查,及时发现出现异常的节点。
2.gossip协议
是一种被用在分布式的非强一致性系统中用来同步各节点状态的方法,它是一个最终一致性算法。通过Gossip协议,它们可以知道分布式系统中有哪些节点,以及这些节点的状态如何。每一条Gossip消息上都有一个版本号,节点可以对接收到的消息进行版本比对,从而得知哪些消息是我需要更新的,哪些消息是我有而别人没有的,然后互相倾诉吐槽,确保二者得到的信息相同,这很像现实生活中的八卦(摆龙门阵)一样,一传十,十传百,最后尽人皆知。
实施例3
在图3中,我们展示了IDC节点接收到配置中心的配置信息之后,将该配置信息进一步分发至本IDC内部的各系统组件,具体实现过程如下:
1.在idc安装单独的程序(以下简称节点程序)用于接收配置信息;
2.程序在接收到配置信息后,依次调用本节点(节点A、B、C等等)内所有设备(即为节点内的服务器)的api接口,通过api接口分发到idc内部各系统组件(系统组件 1、2、3等等),实现配置信息的更新。
每个节点向配置中心订阅自身需要的配置项,当节点发现本节点内的系统版本信息为最新时,则向配置中心进行反馈,配置中心接收到反馈以后则不再向该节点发起更新操作,这样以减少无用信息的传输。
以上所述仅为本发明的较佳实施方式作了详细说明,但是本发明并不限于上述实施方式,保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内,本发明实施例还可以在不脱离本专利宗旨的前提下做出各种变化。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种提高大型分布式系统配置效率的方法,设有一个统一的配置中心,其特征在于,配置中心通过协议把集群中的IDC节点分为三种状态,通过多个副本来保证配置信息的高可用和冗余备份;
当需要全网或灰度更新配置时,由控制端向该配置中心发起更新指令,由配置中心将此次更新的配置下发至其他IDC节点;
在上述方案中,配置中心把集群中的IDC节点分为三种状态,具体是指领导者、追随者、候选者,其中:领导者负责日志的同步管理,处理来自客户端的请求,与追随者通过心跳线保持联系;追随者负责响应领导者的日志同步请求,把从候选者到追随者的请求事务转发给领导者;候选者负责选举投票。
2.根据权利要求1所述的一种提高大型分布式系统配置效率的方法,其特征在于,一个IDC节点中部署有多台服务器,多台服务器构成一个IDC节点。
3.根据权利要求1所述的一种提高大型分布式系统配置效率的方法,其特征在于,配置中心的配置信息为类似于文本文件的信息,配置中心将这些信息备份成另外一份或者多份,即为多个副本。
4.根据权利要求1所述的一种提高大型分布式系统配置效率的方法,其特征在于,当协议运行提供服务的时候只存在领导者与候选者两种状态;
刚启动时所有IDC节点均为追随者状态,启动时由一个节点从追随者转为候选者发起选举,配置中心通过协议选举一个领导者,然后给予他全部的管理复制日志的责任来实现一致性,领导者从客户端接收日志条目,把日志条目复制到其他服务器上,并且当保证安全性的时候告诉其他的服务器应用日志条目到他们的状态机中。
5.根据权利要求1所述的一种提高大型分布式系统配置效率的方法,其特征在于,配置信息通过版本机制进行管理,用于方便回溯和回滚。
6.根据权利要求1所述的一种提高大型分布式系统配置效率的方法,其特征在于,配置中心借助开源组件consul、通过gossip协议,将配置指标从配置中心同步到外围IDC节点,该协议保证配置在各IDC节点之间的最终一致性,同步时通过重试机制以适应跨区域网络的抖动异常;
在配置中心同步配置信息时,会启动Gossip服务,Gossip服务启动后会启动一个任务GossipTask,这个任务会周期性地与其他IDC节点进行通信。
7.根据权利要求1所述的一种提高大型分布式系统配置效率的方法,其特征在于,IDC节点接收到配置中心的配置信息之后,将该配置信息进一步分发至本IDC内部的各系统组件,具体实现过程如下:
Q1在IDC节点安装单独的节点程序用于接收配置信息;
Q2程序在接收到配置信息后,依次调用本IDC节点内所有设备的api接口,通过api接口分发到IDC节点内部各系统组件,实现配置信息的更新。
8.根据权利要求7所述的一种提高大型分布式系统配置效率的方法,其特征在于,IDC节点程序从配置中心接收、同步完配置之后,通知配置中心本IDC节点已同步完成,配置中心感知到全网所有节点的配置状态,并记录IDC节点内每台设备的版本信息,对于没有上报同步结果的IDC节点,配置中心将进行重试,重试次数及频率由人工设置或根据需要做相应的调整;当达到重试次数以后仍不能接收到IDC节点上报的同步成功的信息,将由人工进行更新,以上操作以适应某IDC节点故障的场景。
9.根据权利要求1所述的一种提高大型分布式系统配置效率的方法,其特征在于,配置中心感知到全网所有节点的配置状态,具体为,IDC节点在配置同步完成以后,会返回给配置中心一条信息,这条信息告诉配置中心该IDC节点的配置同步工作已经完成,配置中心接收到该信息以后由此感知该节点的配置状态。
10.根据权利要求1所述的一种提高大型分布式系统配置效率的方法,其特征在于,每个节点向配置中心订阅自身需要的配置项,当节点发现本节点内的系统版本信息为最新时,则向配置中心进行反馈,配置中心接收到反馈以后则不再向该节点发起更新操作,以减少无用信息的传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710698628.7A CN107332716A (zh) | 2017-08-15 | 2017-08-15 | 一种提高大型分布式系统配置效率的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710698628.7A CN107332716A (zh) | 2017-08-15 | 2017-08-15 | 一种提高大型分布式系统配置效率的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107332716A true CN107332716A (zh) | 2017-11-07 |
Family
ID=60201102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710698628.7A Pending CN107332716A (zh) | 2017-08-15 | 2017-08-15 | 一种提高大型分布式系统配置效率的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107332716A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088931A (zh) * | 2018-08-20 | 2018-12-25 | 北京粉笔蓝天科技有限公司 | 面向分布式系统的数据发布方法、装置、系统及存储介质 |
CN109451047A (zh) * | 2018-12-13 | 2019-03-08 | 深圳前海微众银行股份有限公司 | 监控告警系统的数据传送方法、装置、设备及存储介质 |
CN109726211A (zh) * | 2018-12-27 | 2019-05-07 | 无锡华云数据技术服务有限公司 | 一种分布式时序数据库 |
CN111565211A (zh) * | 2020-01-14 | 2020-08-21 | 西安奥卡云数据科技有限公司 | 一种cdn配置分发网络系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634144A (zh) * | 2013-11-15 | 2014-03-12 | 新浪网技术(中国)有限公司 | 多idc集群的配置文件管理方法、系统和设备 |
CN105512266A (zh) * | 2015-12-03 | 2016-04-20 | 曙光信息产业(北京)有限公司 | 一种实现分布式数据库操作一致性的方法及装置 |
US20170116095A1 (en) * | 2015-10-27 | 2017-04-27 | Netapp, Inc. | Third vote consensus in a cluster using shared storage devices |
-
2017
- 2017-08-15 CN CN201710698628.7A patent/CN107332716A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634144A (zh) * | 2013-11-15 | 2014-03-12 | 新浪网技术(中国)有限公司 | 多idc集群的配置文件管理方法、系统和设备 |
US20170116095A1 (en) * | 2015-10-27 | 2017-04-27 | Netapp, Inc. | Third vote consensus in a cluster using shared storage devices |
CN105512266A (zh) * | 2015-12-03 | 2016-04-20 | 曙光信息产业(北京)有限公司 | 一种实现分布式数据库操作一致性的方法及装置 |
Non-Patent Citations (1)
Title |
---|
海拉姆: "consul入门", 《HTTPS://BLOG.CSDN.NET/TRUONG/ARTICLE/DETAILS/73330418》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109088931A (zh) * | 2018-08-20 | 2018-12-25 | 北京粉笔蓝天科技有限公司 | 面向分布式系统的数据发布方法、装置、系统及存储介质 |
CN109451047A (zh) * | 2018-12-13 | 2019-03-08 | 深圳前海微众银行股份有限公司 | 监控告警系统的数据传送方法、装置、设备及存储介质 |
CN109451047B (zh) * | 2018-12-13 | 2021-05-18 | 深圳前海微众银行股份有限公司 | 监控告警系统的数据传送方法、装置、设备及存储介质 |
CN109726211A (zh) * | 2018-12-27 | 2019-05-07 | 无锡华云数据技术服务有限公司 | 一种分布式时序数据库 |
CN111565211A (zh) * | 2020-01-14 | 2020-08-21 | 西安奥卡云数据科技有限公司 | 一种cdn配置分发网络系统 |
CN111565211B (zh) * | 2020-01-14 | 2023-05-23 | 西安奥卡云数据科技有限公司 | 一种cdn配置分发网络系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332716A (zh) | 一种提高大型分布式系统配置效率的方法 | |
US9736234B2 (en) | Routing of communications to one or more processors performing one or more services according to a load balancing function | |
CN105681454B (zh) | 一种自适应连接云桌面方法及系统 | |
US6748447B1 (en) | Method and apparatus for scalable distribution of information in a distributed network | |
US7451221B2 (en) | Method and apparatus for election of group leaders in a distributed network | |
CN101605108B (zh) | 一种即时通信的方法、系统及装置 | |
CN105915369B (zh) | 一种配置信息管理方法及装置 | |
CN104811476B (zh) | 一种面向应用服务的高可用部署实现方法 | |
CN103780471A (zh) | 一种应用于软件定义网络的多控制器管理网络设备的方法 | |
CN102783094A (zh) | 用于基于会话发起协议的通信系统的弹性路由 | |
US6298072B1 (en) | Real-time transaction synchronization among peer authentication systems in a telecommunications network environment | |
AU2003227207A1 (en) | centralized PLANT-monitoring controlLER and method | |
CN105765938B (zh) | 通信系统架构 | |
WO2017114111A1 (zh) | 分布式系统异步式数据同步的方法 | |
EP2506502B1 (de) | Redundantes Automatisierungssystem | |
CN113535391A (zh) | 跨域大数据平台的分布式集群状态信息管理方法及系统 | |
CN107517227A (zh) | 用于分布式一致性系统的会话实现方法以及装置 | |
CN117241165A (zh) | 光纤到房间fttr的主从设备通信方法、存储介质和电子装置 | |
EP1305924B1 (en) | Method and apparatus for reliable and scalable distribution of data files in distributed networks | |
CN110213359A (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
Li et al. | High availability for non-stop network controller | |
CN104348907A (zh) | 一种多服务器分布式监护方法及其装置 | |
CN104954227A (zh) | 一种抢占式跨平台消息推送方法和服务器 | |
CN108600004B (zh) | 一种视频服务器配置管理方法及系统 | |
KR100363523B1 (ko) | 클러스터링 서버에서의 분산 처리 제어 방법 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171107 |
|
WD01 | Invention patent application deemed withdrawn after publication |