CN107465756B - 一种服务请求处理的方法和装置 - Google Patents
一种服务请求处理的方法和装置 Download PDFInfo
- Publication number
- CN107465756B CN107465756B CN201710737264.9A CN201710737264A CN107465756B CN 107465756 B CN107465756 B CN 107465756B CN 201710737264 A CN201710737264 A CN 201710737264A CN 107465756 B CN107465756 B CN 107465756B
- Authority
- CN
- China
- Prior art keywords
- service
- service node
- state
- offline
- 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.)
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明实施例提供了一种服务请求处理的方法和装置,应用于服务节点,所述方法包括:接收服务代理发送的服务请求;在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态,以使所述服务代理在检测到所述服务节点处于离线状态时,停止向所述服务节点发送服务请求;对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点。通过本发明实施例,最大程度维护了对服务请求的正常处理,避免了对服务调用产生的“抖动”,且无需配置冗余资源,无需更新和重启服务代理,完全由服务节点自身主动控制上下线,实现对服务请求的平滑处理。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种服务请求处理的方法和一种服务请求处理的装置。
背景技术
在大规模服务的拓扑中,一般采用服务代理+多个服务节点的方式进行部署,以保证服务节点的高可用性,提高服务的可靠性。然而,当服务节点进行服务发版或者发生故障时,通常需要更新代码,从而导致服务节点重启,中断服务请求的处理。
在一种解决方案中,服务代理可以通过健康检查来识别服务节点的健康状况,来确保将服务请求发送到处于正常状态的服务节点进行处理,但由于健康检查存在间隔期,如果服务节点在间隔期内进行版本升级或者发生故障,服务代理将无法及时进行检测,从而继续将服务请求转发到该服务节点,导致服务请求丢失,且当服务请求处于高并发情况下,短暂的间隔期就会造成大量的服务请求丢失。
在另一种解决方案中,可以通过部署一批新的服务节点,将服务代理上将需要进行服务发版或者发生故障的服务节点剔除,来确保将服务请求发送到处于正常状态的服务节点进行处理,但其要使用到冗余服务节点,通常要采用了1:1的冗余,增加了成本,而且服务发版或者发生故障完成后都要更新服务代理,也可能引起短暂的服务处理中断。
发明内容
鉴于上述问题,提出了本发明实施例以便提供克服上述问题或者至少部分地解决上述问题的一种服务请求处理的方法和装置。
为了解决上述问题,本发明实施例公开了一种服务请求处理的方法,应用于服务节点,包括:
接收服务代理发送的服务请求;
在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态,以使所述服务代理在检测到所述服务节点处于离线状态时,停止向所述服务节点发送服务请求;
对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点。
可选地,所述离线条件至少包括:
所述服务节点进行版本升级,和/或,所述服务节点发生故障。
可选地,还包括:
在所述版本升级完成,和/或,所述故障处理完成后,启动所述服务节点;
将所述服务节点的状态设置为在线状态,以使所述服务代理在检测到所述服务节点处于在线状态时,重新向所述服务节点发送服务请求。
可选地,所述服务节点包括状态设置接口,所述在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态的步骤包括:
在检测到预设的离线条件被触发时,在所述状态设置接口中写入离线状态信息;
所述将所述服务节点的状态设置为在线状态的步骤包括:
在所述状态设置接口中写入在线状态信息。
可选地,所述对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点的步骤包括:
对所述接收到的服务请求进行处理;
当所有的服务请求处理完成,且将所述服务节点的状态设置为离线状态后经过的时间大于或等于预设时间间隔,则关闭所述服务节点;其中,所述预设时间间隔为所述服务代理对所述服务节点进行检测的时间间隔。
本发明实施例还公开了一种服务请求处理的装置,应用于服务节点,包括:
服务请求接收模块,用于接收服务代理发送的服务请求;
离线状态设置模块,用于在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态,以使所述服务代理在检测到所述服务节点处于离线状态时,停止向所述服务节点发送服务请求;
服务节点关闭模块,用于对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点。
可选地,所述离线条件至少包括:
所述服务节点进行版本升级,和/或,所述服务节点发生故障。
可选地,还包括:
服务节点启动模块,用于在所述版本升级完成,和/或,所述故障处理完成后,启动所述服务节点;
在线状态设置模块,用于将所述服务节点的状态设置为在线状态,以使所述服务代理在检测到所述服务节点处于在线状态时,重新向所述服务节点发送服务请求
可选地,所述服务节点包括状态设置接口,所述离线状态设置模块包括:
离线状态信息写入子模块,用于在检测到预设的离线条件被触发时,在所述状态设置接口中写入离线状态信息。
所述在线状态设置模块包括:
在线状态信息写入子模块,用于在所述状态设置接口中写入在线状态信息。
可选地,所述服务节点关闭模块包括:
服务请求处理子模块,用于对所述接收到的服务请求进行处理;
完成关闭子模块,用于当所有的服务请求处理完成,且将所述服务节点的状态设置为离线状态后经过的时间大于或等于预设时间间隔,则关闭所述服务节点;其中,所述预设时间间隔为所述服务代理对所述服务节点进行检测的时间间隔。
本发明实施例包括以下优点:
在本发明实施例中,服务节点通过接收服务代理发送的服务请求,在检测到预设的离线条件被触发时,将状态设置为离线状态,以使服务代理在检测到服务节点处于离线状态时,停止向服务节点发送服务请求,而服务节点对接收到的服务请求进行处理,并可以在所有的服务请求处理完成后,关闭服务节点,最大程度维护了对服务请求的正常处理,避免了对服务调用产生的“抖动”,且无需配置冗余资源,也无需更新和重启服务代理,完全由服务节点自身主动控制上下线,实现对服务请求的平滑处理。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种网络拓扑的示意图;
图2是本发明实施例的一种服务请求处理的方法的步骤流程图;
图3是本发明实施例的另一种服务请求处理的方法的步骤流程图;
图4是本发明实施例的一种服务请求处理的装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例可以应用在大规模服务的网络拓扑中,如图1所示,大规模服务的拓扑可以采用服务代理+多个服务节点的方式进行部署,当服务调用者101向服务集群103发送服务请求时,服务代理102可以代理服务集群103中的多个服务节点1031来响应服务请求,以提高服务的可靠性。
作为一种示例,服务调用者101可以为客户端。
服务代理102可以为具有负载均衡功能的设备,如负载均衡器。
服务集群103可以为由多个服务节点1031组成的集群,服务节点1031可以为处理服务请求的服务容器,如Tomcat、Jboss等服务器,多个服务节点1031之间可以进行故障切换。
参照图2,示出了本发明实施例的一种服务请求处理的方法的步骤流程图,所述方法可以应用于服务节点,具体可以包括如下步骤:
步骤201,接收服务代理发送的服务请求;
当服务调用者需要调用某个服务时,可以生成服务请求,并将服务请求发送至服务代理,服务代理接收到服务请求后,可以将服务请求发送服务集群中的服务节点,服务节点可以接收服务代理发送的服务请求。
步骤202,在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态,以使所述服务代理在检测到所述服务节点处于离线状态时,停止向所述服务节点发送服务请求;
在本发明实施例中,为了保证服务请求的正常处理,服务代理可以通过动态可控的健康检查机制来对服务节点的状态进行检测,以决策是否向服务节点发送服务请求,如服务代理可以采用四层、七层的健康检查。
其中,四层的健康检查是基于传输层协议进行的检测,如判断服务节点在TCP(Transmission Control Protocol,传输控制协议)连接上是否可用,七层的健康检查是基于应用层协议进行的检测,如通过调用服务节点的HTTP(HyperText TransferProtocol,超文本传输协议)服务来判断返回值是否符合预期。
例如,在应用HTTP进行的七层的健康检测中,由于HTTP具有特定的HTTP状态码,服务代理可以请求调用服务节点中的HTTP服务对应的接口,服务节点在接收到调用请求时,可以通过读取数据库字段来查找接口对应的HTTP状态码,如200,以使得服务代理可以获得HTTP服务对应的接口中的HTTP状态码,然后按照预先设置的HTTP状态码与状态的对应关系,确定服务节点的健康状态。
基于健康检查机制的存在,服务节点可以采用设置自身状态的方式,实现对健康检查的结果的主动控制,以最大程度维护了对服务请求的正常处理。
具体的,当预设的离线条件被触发时,服务节点可以将自身的状态设置为离线状态,服务代理检测到服务节点处于离线状态时,可以停止向服务节点发送服务请求,以避免服务请求的丢失。
步骤203,对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点。
针对服务节点而言,在接收到服务代理发送的服务请求时,即可以对服务请求进行处理,当服务代理检测到服务节点处于离线状态,且停止发送服务请求后,服务节点可以继续对服务请求进行处理,并在将接收到的所有服务请求处理完成后,关闭服务节点。
作为一种示例,关闭服务节点包括关闭服务器、关闭提供处理服务请求的服务功能等,关闭服务节点后,服务节点将无法处理服务请求。
在本发明实施例中,服务节点通过接收服务代理发送的服务请求,在检测到预设的离线条件被触发时,将状态设置为离线状态,以使服务代理在检测到服务节点处于离线状态时,停止向服务节点发送服务请求,而服务节点对接收到的服务请求进行处理,并可以在所有的服务请求处理完成后,关闭服务节点,最大程度维护了对服务请求的正常处理,避免了对服务调用产生的“抖动”,且无需配置冗余资源,也无需更新和重启服务代理,完全由服务节点自身主动控制上下线,实现对服务请求的平滑处理。
参照图3,示出了本发明实施例的一种服务请求处理的方法的步骤流程图,所述方法可以应用于服务节点,具体可以包括如下步骤:
步骤301,接收服务代理发送的服务请求;
当服务节点处于在线状态时,服务代理可以向服务节点发送服务请求,服务节点可以接收服务节点发送的服务请求。
步骤302,在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态,以使所述服务代理在检测到所述服务节点处于离线状态时,停止向所述服务节点发送服务请求;
在本发明实施例中,服务节点在检测到预设的离线条件被触发时,可以将状态设置为离线状态,服务代理在检测到服务节点处于离线状态时,可以停止向服务节点发送服务请求。
作为一种示例,离线条件至少可以包括:服务节点进行版本升级,和/或,服务节点发生故障,当然还可以包括其他可能导致服务节点关闭的条件。
具体的,当服务节点进行版本升级,如服务节点中服务程序的版本升级,和/或,服务节点发生故障时,如服务节点进行自身故障预警,服务节点可以判定离线条件被触发,服务节点可以将状态设置为离线状态。
在本发明的一种优选实施例中,服务节点可以包括状态设置接口,则步骤302可以包括如下子步骤:
子步骤S11,在检测到预设的离线条件被触发时,在所述状态设置接口中写入离线状态信息;
在本发明实施例中,服务节点在检测到预设的离线条件被触发时,可以在将状态设置接口中写入离线状态信息,服务代理可以通过检测服务节点的状态设置接口中的状态信息为离线状态信息,判定服务节点处于离线状态,从而停止向服务节点发送服务请求。
例如,在采用nginx作为HTTP服务的服务代理,并且将HTTP服务部署在多个服务节点上时,状态设置接口可以为HTTP服务接口,状态信息可以为状态码,服务代理的健康检查机制可以配置为检测服务节点的HTTP服务接口的返回状态码是否为200,则可以通过将服务节点中HTTP服务接口的HTTP状态码配置为非200,即为写入离线状态信息。
步骤303,对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点;
在接收到服务请求后,服务节点可以对接收到的服务请求进行处理,并且在服务节点中所有的服务请求都处理完成后,关闭服务节点。
在一种优选示例中,服务代理可以按照预设时间间隔,调用服务节点提供的状态设置接口,并获取状态设置接口的离线状态信息,根据离线状态信息来判定服务节点处于离线状态,则步骤303可以包括如下子步骤:
子步骤S21,对所述接收到的服务请求进行处理;
在接收到服务请求后,服务节点可以对接收到的服务请求进行处理,在处理服务请求的过程,当检测到状态设置为离线状态时,可以对服务请求的服务请求的完成情况进行判断。
子步骤S22,当所有的服务请求处理完成,且将所述服务节点的状态设置为离线状态后经过的时间大于或等于预设时间间隔,则关闭所述服务节点。
其中,预设时间间隔为服务代理对服务节点进行检测的时间间隔。
一方面,服务节点要继续对服务请求进行处理,且要确保所有的服务请求处理都处理完成,才能确定是否关闭服务节点。
另一方面,为了确保服务代理已经检测到服务节点处于离线状态,不再向服务节点发送服务请求,在将服务节点的状态设置为离线状态后,至少要在经过一个预设时间间隔才能关闭服务节点。
在一种优选示例中,服务节点可以在将服务节点的状态设置为离线状态后,经过2个预设时间间隔判定服务代理已经检测到服务节点处于离线状态,不再向服务节点发送服务请求。
当然,在关闭服务节点之前,服务节点还可以进行版本部署升级,和/或,故障处理等操作,然后通过重启服务节点来确保版本升级,和/或,故障处理的完成。
步骤304,在所述版本升级完成,和/或,所述故障处理完成后,启动所述服务节点;
在本发明实施例中,在服务节点的版本升级完成,和/或,故障处理完成后,可以再次启动服务节点。
在启动服务节点后,服务节点可以进行初始化,初始化可以包括服务节点在启动时进行的一次性的操作,如加载数据、预先计算等,在初始化完成后,服务节点具备正常处理服务请求的能力。
步骤305,将所述服务节点的状态设置为在线状态,以使所述服务代理在检测到所述服务节点处于在线状态时,重新向所述服务节点发送服务请求。
在启动服务节点后,服务节点可以将状态设置为在线状态,服务代理可以通过健康检查机制检测到服务节点切换至在线状态,再次向服务节点发送服务请求,从而实现了在服务发版、故障处理过程中可以做到单台服务节点粒度发版,当存在N台服务节点的情况下,部署一台服务节点服务容量只下降1/N,并不影响整体服务容量,且无需冗余资源,节省成本。
而且,在发版过程、故障处理过程中也无需对服务代理进行操作,减少了依赖环节,完全由服务节点自身主动控制,方便定制,且灵活性高,实现了平滑发版,避免了服务发版或者维护带来的服务波动,最大程度维护了用户正常使用。
在本发明的一种优选实施例中,步骤305可以包括如下子步骤:
子步骤S31,在所述状态设置接口中写入在线状态信息。
在启动服务节点后,服务节点可以开启状态设置接口,服务节点可以在状态设置接口写入在线状态信息,以将状态切换至在线状态。
由于状态设置接口开启,服务代理可以通过健康检查机制,调用服务节点提供的状态设置接口,并获取状态设置接口的在线状态信息,判定服务节点从离线状态切换至在线状态,再次向服务节点发送服务请求,
在本发明实施例中,服务节点通过接收服务代理发送的服务请求,在检测到预设的离线条件被触发时,将状态设置为离线状态,以使服务代理在检测到服务节点处于离线状态时,停止向服务节点发送服务请求,而服务节点对接收到的服务请求进行处理,并可以在所有的服务请求处理完成后,关闭服务节点,最大程度维护了对服务请求的正常处理,避免了对服务调用产生的“抖动”,且无需配置冗余资源,也无需更新和重启服务代理,完全由服务节点自身主动控制上下线,实现对服务请求的平滑处理;
而且,基于服务代理采用预设时间间隔对服务节点进行检测的机制,当处于离线状态时,服务节点不仅能够保证所有的服务请求处理完成,且通过在设置离线状态后经过至少一个预设时间间隔才关闭服务节点,能够确保服务代理已经检测到服务节点处于离线状态,且已经停止向服务器节点发送服务请求,避免了由于检测存在时间间隔而导致的服务请求丢失,提升了服务请求处理的可靠性;
再者,通过在版本升级完成,和/或,故障处理完成后,重启服务节点,然后将服务节点的状态设置为在线状态,使得服务代理可以检测到服务节点处于在线状态,并重新向服务节点发送服务请求,实现了服务请求的自动回切,减少了对服务代理的操作。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明实施例的一种服务请求处理的装置的结构框图,应用于服务节点,具体可以包括如下模块:
服务请求接收模块401,用于接收服务代理发送的服务请求;
离线状态设置模块402,用于在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态,以使所述服务代理在检测到所述服务节点处于离线状态时,停止向所述服务节点发送服务请求;
服务节点关闭模块403,用于对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点。
在本发明的一种优选实施例中,所述离线条件至少可以包括:
所述服务节点进行版本升级,和/或,所述服务节点发生故障。
在本发明的一种优选实施例中,还可以包括:
服务节点启动模块,用于在所述版本升级完成,和/或,所述故障处理完成后,启动所述服务节点;
在线状态设置模块,用于将所述服务节点的状态设置为在线状态,以使所述服务代理在检测到所述服务节点处于在线状态时,重新向所述服务节点发送服务请求。
在本发明的一种优选实施例中,所述服务节点包括状态设置接口,所述离线状态设置模块402可以包括:
离线状态信息写入子模块,用于在检测到预设的离线条件被触发时,在所述状态设置接口中写入离线状态信息;
所述在线状态设置模块可以包括:
在线状态信息写入子模块,用于在所述状态设置接口中写入在线状态信息。
在本发明的一种优选实施例中,所述服务代理可以按照预设时间间隔对所述服务节点进行检测,所述服务节点关闭模块403可以包括:
服务请求处理子模块,用于对所述接收到的服务请求进行处理;
完成关闭子模块,用于当所有的服务请求处理完成,且将所述服务节点的状态设置为离线状态后经过的时间大于或等于预设时间间隔,则关闭所述服务节点;其中,所述预设时间间隔为所述服务代理对所述服务节点进行检测的时间间隔。
在本发明实施例中,服务节点通过接收服务代理发送的服务请求,在检测到预设的离线条件被触发时,将状态设置为离线状态,以使服务代理在检测到服务节点处于离线状态时,停止向服务节点发送服务请求,而服务节点对接收到的服务请求进行处理,并可以在所有的服务请求处理完成后,关闭服务节点,最大程度维护了对服务请求的正常处理,避免了对服务调用产生的“抖动”,且无需配置冗余资源,也无需更新和重启服务代理,完全由服务节点自身主动控制上下线,实现对服务请求的平滑处理。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种服务请求处理的方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种服务请求处理的方法,其特征在于,应用于服务节点,包括:
接收服务代理发送的服务请求;
在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态,以使所述服务代理在检测到所述服务节点处于离线状态时,停止向所述服务节点发送服务请求;
对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点;
其中,所述服务节点包括状态设置接口,所述在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态的步骤包括:
在检测到预设的离线条件被触发时,在所述状态设置接口中写入离线状态信息,以使得服务代理调用服务节点提供的状态设置接口,并获取状态设置接口的离线状态信息,根据离线状态信息来判定服务节点处于离线状态;
其中,所述对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点的步骤包括:
对所述接收到的服务请求进行处理;
当所有的服务请求处理完成,且将所述服务节点的状态设置为离线状态后经过的时间大于或等于预设时间间隔,则关闭所述服务节点;其中,所述预设时间间隔为所述服务代理对所述服务节点进行检测的时间间隔;
其中,所述离线条件至少包括:
所述服务节点进行版本升级,和/或,所述服务节点发生故障;
所述方法还包括:
在所述版本升级完成,和/或,所述故障处理完成后,启动所述服务节点;
将所述服务节点的状态设置为在线状态,以使所述服务代理在检测到所述服务节点处于在线状态时,重新向所述服务节点发送服务请求。
2.根据权利要求1所述的方法,其特征在于,
所述将所述服务节点的状态设置为在线状态的步骤包括:
在所述状态设置接口中写入在线状态信息。
3.一种服务请求处理的装置,其特征在于,应用于服务节点,包括:
服务请求接收模块,用于接收服务代理发送的服务请求;
离线状态设置模块,用于在检测到预设的离线条件被触发时,将所述服务节点的状态设置为离线状态,以使所述服务代理在检测到所述服务节点处于离线状态时,停止向所述服务节点发送服务请求;
服务节点关闭模块,用于对所述接收到的服务请求进行处理,并在所有的服务请求处理完成后,关闭所述服务节点;
其中,所述服务节点包括状态设置接口,所述离线状态设置模块包括:
离线状态信息写入子模块,用于在检测到预设的离线条件被触发时,在所述状态设置接口中写入离线状态信息,以使得服务代理调用服务节点提供的状态设置接口,并获取状态设置接口的离线状态信息,根据离线状态信息来判定服务节点处于离线状态;
其中,所述服务节点关闭模块包括:
服务请求处理子模块,用于对所述接收到的服务请求进行处理;
完成关闭子模块,用于当所有的服务请求处理完成,且将所述服务节点的状态设置为离线状态后经过的时间大于或等于预设时间间隔,则关闭所述服务节点;其中,所述预设时间间隔为所述服务代理对所述服务节点进行检测的时间间隔;
其中,所述离线条件至少包括:
所述服务节点进行版本升级,和/或,所述服务节点发生故障;
所述装置还包括:
服务节点启动模块,用于在所述版本升级完成,和/或,所述故障处理完成后,启动所述服务节点;
在线状态设置模块,用于将所述服务节点的状态设置为在线状态,以使所述服务代理在检测到所述服务节点处于在线状态时,重新向所述服务节点发送服务请求。
4.根据权利要求3所述的装置,其特征在于,
所述在线状态设置模块包括:
在线状态信息写入子模块,用于在所述状态设置接口中写入在线状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710737264.9A CN107465756B (zh) | 2017-08-24 | 2017-08-24 | 一种服务请求处理的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710737264.9A CN107465756B (zh) | 2017-08-24 | 2017-08-24 | 一种服务请求处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107465756A CN107465756A (zh) | 2017-12-12 |
CN107465756B true CN107465756B (zh) | 2021-07-16 |
Family
ID=60549525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710737264.9A Active CN107465756B (zh) | 2017-08-24 | 2017-08-24 | 一种服务请求处理的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107465756B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965381B (zh) * | 2018-05-31 | 2023-03-21 | 康键信息技术(深圳)有限公司 | 基于Nginx的负载均衡实现方法、装置、计算机设备和介质 |
CN110851269A (zh) * | 2019-10-17 | 2020-02-28 | 上海易点时空网络有限公司 | 用于Linux虚拟服务器负载均衡的优化方法以及装置、设备、存储介质 |
CN110928568B (zh) * | 2019-11-05 | 2022-07-26 | 杭州衣科信息技术股份有限公司 | 一种发布更新web应用程序时业务服务不间断的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060088A (zh) * | 2016-07-26 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种服务管理方法及装置 |
CN106850746A (zh) * | 2016-12-23 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 服务平滑升级的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731312A (zh) * | 2014-01-26 | 2014-04-16 | 飞狐信息技术(天津)有限公司 | 对远程方法调用的服务进行故障检查的方法和装置 |
CN103970567A (zh) * | 2014-04-28 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种云存储系统固件在线升级的方法 |
-
2017
- 2017-08-24 CN CN201710737264.9A patent/CN107465756B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106060088A (zh) * | 2016-07-26 | 2016-10-26 | 杭州华三通信技术有限公司 | 一种服务管理方法及装置 |
CN106850746A (zh) * | 2016-12-23 | 2017-06-13 | 微梦创科网络科技(中国)有限公司 | 服务平滑升级的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107465756A (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684105B (zh) | 在微服务架构下对请求进行控制的方法、设备和存储介质 | |
JP6025136B2 (ja) | 動的ソフトウエア・バージョン選択のための方法およびコンピュータ・プログラム | |
US10509680B2 (en) | Methods, systems and apparatus to perform a workflow in a software defined data center | |
CN109286529B (zh) | 一种恢复RabbitMQ网络分区的方法及系统 | |
US10715643B2 (en) | Systems and/or methods for intelligent and resilient failover for cloud computing environments | |
CN107465756B (zh) | 一种服务请求处理的方法和装置 | |
EP3550436A1 (en) | Method and apparatus for detecting and recovering fault of virtual machine | |
US20190149397A1 (en) | Technique for resolving a link failure | |
US11507479B2 (en) | High availability for a relational database management system as a service in a cloud platform | |
JP2011145910A (ja) | 情報処理装置及び情報処理装置のファームウェア更新方法 | |
WO2016045439A1 (zh) | 一种vnfm容灾保护的方法、装置和nfvo、存储介质 | |
CN112799786A (zh) | 微服务实例的退出方法、装置、设备及存储介质 | |
CN109361542A (zh) | 客户端的故障处理方法、装置、系统、终端和服务器 | |
CN114531373A (zh) | 节点状态检测方法、节点状态检测装置、设备及介质 | |
WO2009083711A1 (en) | System resource influenced staged shutdown | |
CN106897128B (zh) | 一种分布式应用退出方法、系统以及服务器 | |
CN105005492A (zh) | 一种嵌入式设备以及一种软件升级方法 | |
CN116319758A (zh) | 数据迁移方法、装置、电子设备及可读存储介质 | |
JP2007200103A (ja) | クライアントサーバシステムおよびリソース制御方法 | |
KR20170045981A (ko) | 소프트웨어를 포함한 시스템 및 이의 무중단 업그레이드 방법 | |
WO2016206399A1 (zh) | 通信设备中软件版本的升级方法、装置及通信设备 | |
CN107783855B (zh) | 虚拟网元的故障自愈控制装置及方法 | |
CN111209145A (zh) | 一种基于虚机容灾的业务自愈方法、设备和存储介质 | |
CN114222001B (zh) | 边缘设备及方法、系统、电子设备及存储介质 | |
CN115801564A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |