一种环境隔离方法及设备技术

技术编号:15749865 阅读:129 留言:0更新日期:2017-07-03 15:31
本申请公开了一种环境隔离方法。预先令RPC客户端中的路由地址池按照预设的周期自动刷新预置的全量地址,RPC客户端接收环境隔离设备发送的环境隔离指示后停止自动刷新路由地址池,并将路由地址池中当前的地址替换为合并地址,后续当RPC客户端接收到用户发送的服务调用请求时,根据路由地址池中的合并地址生成有效的目标地址,将服务调用请求发送至与目标地址对应的RPC服务端,并将RPC服务端返回的业务处理结果反馈至用户。从而在不对硬件进行改动的前提下,解决了在RPC调用过程中进行环境隔离所带来的复杂度高、无法完全隔离等问题,保证了环境隔离的安全性以及稳定性。

【技术实现步骤摘要】
一种环境隔离方法及设备
本申请涉及通信
,特别涉及一种环境隔离方法。本申请同时还涉及一种RPC客户端以及环境隔离设备。
技术介绍
RPC(RemoteProcedureCall,远程过程调用)是一个分布式计算的客户端-服务器(Client/Server)的协议,由于通过RPC能够从远程计算机程序上请求服务的同时不需要了解底层网络技术,因此RPC既简单而又广受欢迎。远程过程调用总是由客户端对服务器发出一个执行若干过程请求,使用客户端提供的参数,服务端将执行结果返回给客户端。目前大部分的云计算平台的公有云计算产品均提供了RPC的服务功能,方便各类语言开发者快速使用。如图1所示,为RPC原理示意图。(RPC)客户端与(RPC)服务器利用各自的传输编码通过协议在各个频段相互连接,其中客户端具有接口模块,服务器则具有用于运行的实施模块。通过RPC可以充分利用非共享内存的多处理器环境(例如通过局域网连接得多台服务器),这样可以简便地将应用分布在多台服务器上,应用程序就像运行在一个多处理器的计算机上一样。技术人员可以方便的实现过程代码共享,提高系统资源的利用率,也可以将以大量数据处理的操作分散到处理能力较强的集群中运行,从而减轻单机负担,同时也能更好的做服务化处理。在应用RPC技术的过程中,RPC框架中的Client需要调用Server,请求路由到哪台Server有不同的策略和实现方式。而基于请求路由技术如何实现环境隔离也是现有的RPC应用过程中所必不可少的一项内容。环境隔离就是指通过一定的手段(这里指请求路由技术),完成对测试环境、生产环境的分布式调用服务、数据的区分,防止不同环境间分布式调用服务、数据的相互干扰和使用。现有技术一般通过修改请求来源标志位(IP)将请求隔离到指定机器上,或者是通过调整负载均衡的权重配置将请求隔离到指定机器或者集群中(可能存在隔离不干净的问题),亦或是通过配置混合路由的分组值将机器隔离到指定分组当中(要在服务端设置服务分组,区别于其他分组)。如图2所示,为现有技术中基于请求路由的隔离架构示意图。预先为生产环境中的不同APP对应配置了统一接入1、配置服务1以及通知等模块,而隔离环境中的APP则对应配置了与生产环境不同的统一接入2以及配置服务2等模块。然而无论是生产环境还是隔离环境,均通过统一的管理平台进行管理。由于基于请求路由的环境隔离需要修改客户端请求标志位(IP)或者修改RPC路由配置文件,势必造成需要发布和重启应用,操作成本很高,不能动态完成隔离,而且服务端也需要配置单独的分组以支持隔离操作,而这些操作十分复杂,极易出错,配置不对可能造成隔离不干净等问题,由于整体环境的波动等不确定因素,极易导致服务请求调用失败,进而影响安全性和稳定性,所以现有技术中若需要通过环境隔离进行测试对比的话,一般需要部署一套相同应用,设置不同的路由配置和分组。而单独部署的环境在真实性上有损失,同时也加重了操作人员运维负担。在实现本申请的过程中,专利技术人发现现有的环境隔离方案存在着以下缺点:(1)对应用侵入大常规的隔离技术不是需要对原应用代码、分组、路由规则配置进行修改,就是需要对服务提供方的服务进行分组配置。对应用的侵入很大,而且配置复杂,极易出错,修改的版本要单独打分支,以后的维护成本也很大。(2)隔离后应用稳定性存在风险隔离后链路一旦出现稳定性问题,将直接导致上层依赖系统服务不可用的情况。常规的隔离技术并没有链路可用性检查功能,也并没有考虑隔离后造成服务请求失败的容灾策略,由于其机制的原因,也无法快速进行容灾。(3)部署成本高通过硬件路由实施隔离需要添加额外的设备,落地部署成本极高,使用上需要专业人员操作,开发和测试人员无法按需操作,更改隔离规则操作复杂,易出错,一般使用不需要过多的附加功能,使用上存在浪费。(4)隔离后的环境拟真性差常规的基于请求路由的隔离需要改动配置文件或者单独部署一套应用,因此在真实性上和原有生产环境有区别,在进行测试或者其他对比验证的时候环境上存在一定差异,而隔离的目的是定向引流,并不是改变环境,同时存在后续维护成本高的缺点,因为生产环境的统一配置无法直接应用于隔离出的β环境。(5)操作复杂,实时性差。常规的基于请求路由的隔离方案,由于对应用和配置的修改,势必造成重新部署或者重启应用,整体操作链路长,时间长,无法快速实时生效,要准备的配置多,维护配置可用性成本高。由此可见,如何在保证安全与稳定的前提下实现环境隔离,并同时降低隔离的成本以及隔离操作的复杂度,成为本领域技术人员亟待解决的技术问题。
技术实现思路
本申请公开了一种环境隔离方法,用以在提升环境隔离的实时性、安全性以及稳定性的前提下,尽量降低环境隔离的人工及硬件成本。该方法应用于RPC客户端,预设与所述RPC客户端相连的环境隔离设备,所述RPC客户端中的路由地址池按照预设的周期自动刷新预置的全量地址,该方法还包括:所述RPC客户端接收所述环境隔离设备发送的环境隔离指示;所述RPC客户端停止自动刷新所述路由地址池,并将所述路由地址池中当前的地址替换为合并地址,所述合并地址为所述RPC客户端根据所述路由地址池中当前的地址以及预设的手动地址列表中的地址合并生成;当所述RPC客户端接收到用户发送的服务调用请求时,根据所述路由地址池中的合并地址生成有效的目标地址;所述RPC客户端将所述服务调用请求发送至与所述目标地址对应的RPC服务端,并将所述RPC服务端返回的业务处理结果反馈至所述用户。优选地,所述手动地址列表由参与环境隔离的RPC客户端以及RPC服务端的地址组成,所述RPC客户端将所述路由地址池中当前的地址替换为合并地址,具体为:从所述手动地址列表中筛选可用于地址合并的第一子地址;将停止自动刷新后的所述路由地址池中的地址作为第二子地址;根据预设的地址合并算法,将所述第一子地址以及所述第二子地址合并为所述合并地址;将所述路由地址池中当前的地址删除,并将所述合并地址添加至所述路由地址池中。优选地,所述RPC客户端根据所述路由地址池中的合并地址生成有效的目标地址,具体为:查询预设的路由规则,以及在所述路由地址池中查询可用的设备地址,;根据所述路由规则对查询到的设备地址进行筛选;若存在符合所述路由规则的设备地址,将所述设备地址作为所述目标地址;若不存在符合所述路由规则的设备地址,向所述用户返回服用调用失败响应。优选地,在所述RPC客户端将所述路由地址池中当前的地址替换为合并地址之后,还包括:向所述环境隔离设备返回环境隔离成功响应;当接收到所述环境隔离设备发送的隔离状态检查指示时,查询自身与各个下游RPC服务端之间的接口是否正常,并将查询结果发送至所述环境隔离设备,以使所述环境隔离设备向所述用户反馈所述查询结果。优选地,在所述RPC客户端将所述路由地址池中当前的地址替换为合并地址之后,还包括:若接收到所述环境隔离设备发送的环境隔离取消指示,将所述路由地址池中的合并地址刷新为所述全量地址,并使路由地址池按照预设的周期自动刷新预置的所述全量地址。相应地,本申请还提出了一种环境隔离方法,所述方法应用于环境隔离设备,所述环境隔离设备与所述RPC客户端相连,该方法包括:根据用户发送的环境隔离请求中所携带的地址信息确定需要进本文档来自技高网
...
一种环境隔离方法及设备

【技术保护点】
一种环境隔离方法,应用于RPC客户端,其特征在于,预设与所述RPC客户端相连的环境隔离设备,所述RPC客户端中的路由地址池按照预设的周期自动刷新预置的全量地址,该方法还包括:所述RPC客户端接收所述环境隔离设备发送的环境隔离指示;所述RPC客户端停止自动刷新所述路由地址池,并将所述路由地址池中当前的地址替换为合并地址,所述合并地址为所述RPC客户端根据所述路由地址池中当前的地址以及预设的手动地址列表中的地址合并生成;当所述RPC客户端接收到用户发送的服务调用请求时,根据所述路由地址池中的合并地址生成有效的目标地址;所述RPC客户端将所述服务调用请求发送至与所述目标地址对应的RPC服务端,并将所述RPC服务端返回的业务处理结果反馈至所述用户。

【技术特征摘要】
1.一种环境隔离方法,应用于RPC客户端,其特征在于,预设与所述RPC客户端相连的环境隔离设备,所述RPC客户端中的路由地址池按照预设的周期自动刷新预置的全量地址,该方法还包括:所述RPC客户端接收所述环境隔离设备发送的环境隔离指示;所述RPC客户端停止自动刷新所述路由地址池,并将所述路由地址池中当前的地址替换为合并地址,所述合并地址为所述RPC客户端根据所述路由地址池中当前的地址以及预设的手动地址列表中的地址合并生成;当所述RPC客户端接收到用户发送的服务调用请求时,根据所述路由地址池中的合并地址生成有效的目标地址;所述RPC客户端将所述服务调用请求发送至与所述目标地址对应的RPC服务端,并将所述RPC服务端返回的业务处理结果反馈至所述用户。2.如权利要求1所述的方法,其特征在于,所述手动地址列表由参与环境隔离的RPC客户端以及RPC服务端的地址组成,所述RPC客户端将所述路由地址池中当前的地址替换为合并地址,具体为:从所述手动地址列表中筛选可用于地址合并的第一子地址;将停止自动刷新后的所述路由地址池中的地址作为第二子地址;根据预设的地址合并算法,将所述第一子地址以及所述第二子地址合并为所述合并地址;将所述路由地址池中当前的地址删除,并将所述合并地址添加至所述路由地址池中。3.如权利要求1所述的方法,其特征在于,所述RPC客户端根据所述路由地址池中的合并地址生成有效的目标地址,具体为:查询预设的路由规则,以及在所述路由地址池中查询可用的设备地址;根据所述路由规则对查询到的设备地址进行筛选;若存在符合所述路由规则的设备地址,将所述设备地址作为所述目标地址;若不存在符合所述路由规则的设备地址,向所述用户返回服用调用失败响应。4.如权利要求1所述的方法,其特征在于,在所述RPC客户端将所述路由地址池中当前的地址替换为合并地址之后,还包括:向所述环境隔离设备返回环境隔离成功响应;当接收到所述环境隔离设备发送的隔离状态检查指示时,查询自身与各个下游RPC服务端之间的接口是否正常,并将查询结果发送至所述环境隔离设备,以使所述环境隔离设备向所述用户反馈所述查询结果。5.如权利要求1所述的方法,其特征在于,在所述RPC客户端将所述路由地址池中当前的地址替换为合并地址之后,还包括:若接收到所述环境隔离设备发送的环境隔离取消指示,将所述路由地址池中的合并地址刷新为所述全量地址,并使路由地址池按照预设的周期自动刷新预置的所述全量地址。6.一种环境隔离方法,其特征在于,所述方法应用于环境隔离设备,所述环境隔离设备与所述RPC客户端相连,该方法包括:根据用户发送的环境隔离请求中所携带的地址信息确定需要进行环境隔离的RPC客户端,所述RPC客户端中的路由地址池按照预设的周期自动刷新预置的全量地址;向所述RPC客户端发送环境隔离指示,以使所述RPC客户端停止自动刷新所述路由地址池以及将所述路由地址池中当前的地址替换为合并地址,所述合并地址为所述RPC客户端根据所述路由地址池中当前的地址以及预设的手动地址列表中的地址合并生成。7.如权利要求6所述的方法,其特征在于,所述地址信息具体为源IP地址以及目标IP地址,根据用户发送的环境隔离请求中所携带的地址信息确定需要进行环境隔离的RPC客户端,具体为:从所述环境隔离请求中提取所述地址信息;通过查询RPC服务端的接口获取需要进行环境隔离的服务;将与所述源IP地址对应的RPC客户端作为所述需要进行环境隔离的RPC客户端。8.如权利要求6所述的方法,其特征在于,在向所述RPC客户端发送环境隔离指示之后,还包括:若接收到所述RPC客户端发送的环境隔离成功响应,向所述RPC客户端发送隔离状态检查指示,并将所述RPC客户端返回的查询结果反馈至所述用户;所述状态检查指示用于使所述RPC客户端查询自身与各个下游RPC服务端之间的接口是否正常,并将查询结果发送至所述环境隔离设备。9.如权利要求6所述的方法,其特征在于,在向所述RPC客户端发送环境隔离指示之后,还包括:若接收到所述RPC客户端发送的环境隔离成功响应,检测所述RPC客户端的各下游RPC服务端的状态是否正常,以及判断所述路由地址池中的合并地址在经过预设的路由规则筛选后是否为空;若存在状态为异常的下游RPC服务端,或所述路由地址池中的合并地址在经过预设的路由规则筛选后为空,向所述用户发送下游存活安全告警提示。10.如权利要求6所述的方法,其特征在于,在向所述RPC客户端发送环境隔离指示之后,还包括:当接收到所述用户发送的环境隔离取消请求时,向所述RPC客户端发送环境隔离取消指示,以使所述...

【专利技术属性】
技术研发人员:张松林
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1