CN108040089A - 一种适用于大型分布式系统提高响应速度的方法 - Google Patents
一种适用于大型分布式系统提高响应速度的方法 Download PDFInfo
- Publication number
- CN108040089A CN108040089A CN201711201405.1A CN201711201405A CN108040089A CN 108040089 A CN108040089 A CN 108040089A CN 201711201405 A CN201711201405 A CN 201711201405A CN 108040089 A CN108040089 A CN 108040089A
- Authority
- CN
- China
- Prior art keywords
- copy
- service
- distributed system
- server
- return
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the 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/1004—Server selection for load balancing
- H04L67/1019—Random or heuristic server selection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及分布式系统开发技术领域,特别是指一种适用于大型分布式系统提高响应速度的方法。本发明所述的方法是服务器依赖的后台服务运行多个副本,先将服务请求由其中某个副本进行响应;如果在设定的等待时间没有结果返回,则由另外的副本对服务进行响应;最后分布式系统的服务端向前端返回结果。本发明运用重复发送请求和取消请求的方法,能在很大程度上改善延时的长尾效应,提高分布式系统的响应速度,同时并未增加太多开销;可以用于大型分布式系统服务响应方式的控制。
Description
技术领域
本发明涉及分布式系统开发技术领域,特别是指一种适用于大型分布式系统提高响应速度的方法。
背景技术
随着分布式应用的发展,分布式系统的规模不断提高,而用户对体验的要求逐步提高,在大型分布式系统中处理用户的一次请求需要返回丰富的信息,单一的服务调用已经不能满足需求;通常一个请求的处理需要多个子系统提供的服务参与其中,而同一个服务调用的响应时间有时候长有时候短,由于系统的复杂性提升,响应时间长度是无法预测的,这种现象就是长尾现象,会导致整体用户体验的下降,目前一般采用增加服务占用资源的方式来提高响应速度,在云的环境下,一般步骤如下:
1、对每个应用的负载进行检测;
2、发现某个应用的负载较高时,把同一物理机下的其他虚拟机迁移到其他物理机上。
上述方法通过迁移的方式腾出资源提高响应速度的目的,但是存在以下问题:
1、可能并不能起作用,网络负载高导致的响应速度低通过执行上述方法并不能解决,反而由于迁移导致网络拥堵进一步加剧;
2、只能短时间内提高单一服务的响应速度,但是对于分布式系统整体而言,把低负载的虚拟机迁移到其他物理机,也会降低其他服务的响应速度;
因此,需要设计一种无需增加太多开销提高分布式系统的响应速度的方法。
发明内容
本发明解决的技术问题在于提出一种适用于大型分布式系统提高响应速度的方法。
本发明解决上述技术问题的技术方案是:
所述的方法是服务器依赖的后台服务运行多个副本,先将服务请求由其中某个副本进行响应;如果在设定的等待时间没有结果返回,则由另外的副本对服务进行响应。
所述的方法具体包括以下步骤:
步骤1:分布式系统的服务器端依赖的后台服务运行多个副本,并给每个副本提供一个编号,供服务端随机调用;
步骤2:分布式系统的服务端接收到前端的请求以后,根据分配算法选择一个依赖的后台服务的副本N,向其发送调用请求,并记录调用的副本地址A,同时记录调用请求的发起时间T1;
步骤3:分布式系统的服务端定时检查副本N是否返回结果,如果没有,那么记录当前时间T2,并计算调用请求的已逝去时间T=T2-T1,否则,直接执行步骤6;
步骤4:如果T小于预定的等待时间阈值T0,那么执行步骤3,继续执行定时检查;否则,分布式系统服务端再随机选择后台服务的另外一个副本N0,向此副本发送相同的请求,请求中包含上一个请求发往的副本的地址A,同时记录调用的副本地址A0;
步骤5:如果副本N0的后台服务早于副本N的后台服务返回结果,那么直接由副本N0根据其请求中的地址A通知副本N停止后台服务;否则由分布式系统的服务端根据记录的地址A0通知副本N0停止后台服务;
步骤6:分布式系统的服务端向前端返回结果。
所述根据分配算法是负载均衡的算法,包括:Round-Robin算法。
所述的步骤6中,返回结果是返回副本N返回的结果或副本N0返回的结果,如果两者在规定时间内均为返回结果,则返回服务不可用的信息。
所述等待时间阈值T0指的是由用户指定的最长等待时间,可由用户根据分布式系统的类型确定的超过用户等待心理预期的时间。
所述分布式系统的服务器端依赖的后台服务是可重复执行请求的集群服务,每个后台服务运行有多个相同的副本;
所述的副本是可以由服务端指定调用的服务副本。本发明的方法能产生如下的有益效果:
本发明运用重复发送请求和取消请求的方法,能在很大程度上改善延时的长尾效应,提高分布式系统的响应速度,同时并未增加太多开销。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
如图1所示,本发明的基本步骤是:
步骤1:分布式系统的服务器端依赖的后台服务运行多个副本,并给每个副本提供一个编号,供服务端随机调用;
步骤2:分布式系统的服务端接收到前端的请求以后,根据分配算法选择一个依赖的后台服务的副本N,向其发送调用请求,并记录调用的副本地址A,同时记录调用请求的发起时间T1;
步骤3:分布式系统的服务端定时检查副本N是否返回结果,如果没有,那么记录当前时间T2,并计算调用请求的已逝去时间T=T2-T1,否则,直接执行步骤6;
步骤4:如果T小于预定的等待时间阈值T0,那么执行步骤3,继续执行定时检查;否则,分布式系统服务端再随机选择后台服务的另外一个副本N0,向此副本发送相同的请求,请求中包含上一个请求发往的副本的地址A,同时记录调用的副本地址A0;
步骤5:如果副本N0的后台服务早于副本N的后台服务返回结果,那么直接由副本N0根据其请求中的地址A通知副本N停止后台服务;否则由分布式系统的服务端根据记录的地址A0通知副本N0停止后台服务;
步骤6:分布式系统的服务端向前端返回结果。
下面以Scala下的akka框架为例,描述一种在其上实现本发明的方法。
首先定义一个正常的Web请求响应流程
Claims (8)
1.一种适用于大型分布式系统提高响应速度的方法,其特征在于,所述的方法是服务器依赖的后台服务运行多个副本,先将服务请求由其中某个副本进行响应;如果在设定的等待时间没有结果返回,则由另外的副本对服务进行响应。
2.根据权利要求1所述的方法,其特征在于:所述的方法具体包括以下步骤:
步骤1:分布式系统的服务器端依赖的后台服务运行多个副本,并给每个副本提供一个编号,供服务端随机调用;
步骤2:分布式系统的服务端接收到前端的请求以后,根据分配算法选择一个依赖的后台服务的副本N,向其发送调用请求,并记录调用的副本地址A,同时记录调用请求的发起时间T1;
步骤3:分布式系统的服务端定时检查副本N是否返回结果,如果没有,那么记录当前时间T2,并计算调用请求的已逝去时间T=T2-T1,否则,直接执行步骤6;
步骤4:如果T小于预定的等待时间阈值T0,那么执行步骤3,继续执行定时检查;否则,分布式系统服务端再随机选择后台服务的另外一个副本N0,向此副本发送相同的请求,请求中包含上一个请求发往的副本的地址A,同时记录调用的副本地址A0;
步骤5:如果副本N0的后台服务早于副本N的后台服务返回结果,那么直接由副本N0根据其请求中的地址A通知副本N停止后台服务;否则由分布式系统的服务端根据记录的地址A0通知副本N0停止后台服务;
步骤6:分布式系统的服务端向前端返回结果。
3.根据权利要求1所述的方法,其特征在于,所述根据分配算法是负载均衡的算法,包括:Round-Robin算法。
4.根据权利要求2所述的方法,其特征在于,所述的步骤6中,返回结果是返回副本N返回的结果或副本N0返回的结果,如果两者在规定时间内均为返回结果,则返回服务不可用的信息。
5.根据权利要求3所述的方法,其特征在于,所述的步骤6中,返回结果是返回副本N返回的结果或副本N0返回的结果,如果两者在规定时间内均为返回结果,则返回服务不可用的信息。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述等待时间阈值T0指的是由用户指定的最长等待时间,可由用户根据分布式系统的类型确定的超过用户等待心理预期的时间。
7.根据权利要求2至5任一项所述的方法,其特征在于,所述分布式系统的服务器端依赖的后台服务是可重复执行请求的集群服务,每个后台服务运行有多个相同的副本;
所述的副本是可以由服务端指定调用的服务副本。
8.根据权利要求6所述的方法,其特征在于,所述分布式系统的服务器端依赖的后台服务是可重复执行请求的集群服务,每个后台服务运行有多个相同的副本;
所述的副本是可以由服务端指定调用的服务副本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711201405.1A CN108040089A (zh) | 2017-11-27 | 2017-11-27 | 一种适用于大型分布式系统提高响应速度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711201405.1A CN108040089A (zh) | 2017-11-27 | 2017-11-27 | 一种适用于大型分布式系统提高响应速度的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108040089A true CN108040089A (zh) | 2018-05-15 |
Family
ID=62092881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711201405.1A Pending CN108040089A (zh) | 2017-11-27 | 2017-11-27 | 一种适用于大型分布式系统提高响应速度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108040089A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104715044A (zh) * | 2011-12-28 | 2015-06-17 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
US20150334130A1 (en) * | 2011-09-14 | 2015-11-19 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
CN105760556A (zh) * | 2016-04-19 | 2016-07-13 | 江苏物联网研究发展中心 | 低延时高吞吐量的多副本文件读写优化方法 |
-
2017
- 2017-11-27 CN CN201711201405.1A patent/CN108040089A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150334130A1 (en) * | 2011-09-14 | 2015-11-19 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
CN104715044A (zh) * | 2011-12-28 | 2015-06-17 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
CN105760556A (zh) * | 2016-04-19 | 2016-07-13 | 江苏物联网研究发展中心 | 低延时高吞吐量的多副本文件读写优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105245373B (zh) | 一种容器云平台系统的搭建及运行方法 | |
CN105391797B (zh) | 基于sdn的云服务器负载均衡方法及装置 | |
EP2665228B1 (en) | Method for adjusting resources dynamically and scheduling device | |
WO2014082052A4 (en) | Scaling computing clusters | |
CN108600005A (zh) | 一种防御微服务雪崩效应的方法 | |
CN105007337A (zh) | 集群系统负载均衡的方法和系统 | |
CN107800768A (zh) | 开放平台控制方法和系统 | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
CN106034129B (zh) | 一种用于游戏同步的fbsg方法 | |
US20170046189A1 (en) | Method for Scheduling VM Resource, Apparatus, and System | |
CN104426694B (zh) | 一种调整虚拟机资源的方法和装置 | |
CN102035864B (zh) | 一种开放式服务的实现方法及系统 | |
EP3537281B1 (en) | Storage controller and io request processing method | |
CN107239347B (zh) | 一种虚拟化场景下的设备资源分配方法和装置 | |
WO2017185615A1 (zh) | 一种业务处理设备的业务状态确定方法及调度设备 | |
CN104301241B (zh) | 一种soa动态负载分发方法与系统 | |
CN103514164B (zh) | 数据迁移方法及系统 | |
CN103823712B (zh) | 一种多cpu虚拟机系统的数据流处理方法和装置 | |
CN106970827A (zh) | 信息处理方法、信息处理装置、电子设备 | |
CN104219163B (zh) | 一种基于动态副本法和虚拟节点法的节点动态前移的负载均衡方法 | |
CN105591964A (zh) | 一种用于互联网系统的过载保护装置和方法 | |
CN108040089A (zh) | 一种适用于大型分布式系统提高响应速度的方法 | |
CN106411971B (zh) | 负载调节方法及装置 | |
CN108710543A (zh) | 一种渲染任务的处理方法及设备 | |
CN112685169A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180515 |
|
WD01 | Invention patent application deemed withdrawn after publication |