本申请涉及一种服务访问方法、系统、计算机设备和存储介质。该方法包括:获取服务的多个实例发送的接口注册请求,并基于接口注册请求获取多个实例相应的接口信息;接口信息中包括实例相应的访问路径,多个实例部署在容器中;针对多个实例中的每个实例,将实例相应的接口信息存储到实例的元数据中,以完成接口注册;在接收到针对服务的访问请求后,确认访问请求指定的目标访问路径;将目标访问路径和目标元数据中的访问路径匹配;目标元数据,是服务的多个实例的元数据;确定匹配到的访问路径所对应的目标实例的接口信息;基于目标实例的接口信息将访问请求路由至服务的目标实例,以对服务进行访问。本方法能够提高服务访问灵活性。性。性。
【技术实现步骤摘要】
服务访问方法、系统、计算机设备和存储介质
[0001]本申请涉及软件
,特别是涉及一种服务访问方法、系统、装置、计算机设备和存储介质。
技术介绍
[0002]随着软件技术的发展,面向服务的体系结构已经逐渐成为IT集成的主流技术,企业服务总线是构建基于面向服务体系结构解决方案时所使用基础架构的关键部分,是由中间件技术实现的一组基础架构功能,为更复杂的架构提供基本的服务。
[0003]从一般意义上来说,企业服务总线可以看作是一种管理应用程序和服务访问的机制,它通过网络或基于形式的客户端前端为最终用户提供一个单一、简单和一致的接口,并提供基础的服务供访问。
[0004]通常情况下,为了保证对服务访问的安全性,服务一般部署于容器环境中。这样一来,在容器环境下的服务就存在难以被外部访问的问题,过于局限。
技术实现思路
[0005]基于此,有必要针对上述技术问题,提供一种能够提高服务访问灵活性的服务访问方法、系统、装置、计算机设备、存储介质和计算机程序产品。
[0006]第一方面,本申请提供了一种服务访问方法。所述方法包括:
[0007]服务管理中心获取服务的多个实例发送的接口注册请求,并基于所述接口注册请求获取多个实例相应的接口信息;所述接口信息中包括所述实例相应的访问路径;所述多个实例部署在容器中;
[0008]针对所述多个实例中的每个实例,所述服务管理中心将所述实例相应的接口信息存储到服务发现中心中的所述实例的元数据中,以完成接口注册;
[0009]在网关接收到针对所述服务的访问请求后,通过所述网关确认所述访问请求指定的目标访问路径;
[0010]所述网关将所述目标访问路径和目标元数据中的访问路径匹配;所述目标元数据,是所述服务发现中心中的所述服务的实例的元数据;
[0011]所述网关确定匹配到的访问路径所对应的目标实例的接口信息;
[0012]所述网关基于所述目标实例的接口信息将所述访问请求路由至所述服务的所述目标实例,以对所述服务进行访问。
[0013]在其中一个实施例中,所述方法还包括:
[0014]针对所述多个实例中的任意一个实例,执行以下处理:
[0015]所述服务管理中心判断所述任意一个实例是否订阅上线监听事件;
[0016]若所述任意一个实例未订阅上线监听事件,则所述服务管理中心为所述任意一个实例向所述服务发现中心订阅上线监听事件;
[0017]所述服务发现中心基于订阅的所述上线监听事件对所述任意一个实例进行上线
状态监听;
[0018]所述服务发现中心在监听到所述实例处于上线状态后,向所述服务管理中心发送上线通知。
[0019]在其中一个实施例中,所述上线通知是所述服务发现中心在监听到所述实例失联后重新上线的情况下,向所述服务管理中心发送的;所述方法还包括:
[0020]针对所述多个实例中的任意一个实例,执行以下处理:
[0021]将所述任意一个实例的互联网协议地址和所述任意一个实例的接口信息一一对应存储到所述服务管理中心的数据库中;
[0022]所述服务管理中心在所述任意一个实例重新上线后,将所述数据库中与所述互联网协议地址对应的所述接口信息,恢复至所述任意一个实例的元数据中。
[0023]在其中一个实施例中,所述网关将所述目标访问路径和目标元数据中的访问路径匹配包括:
[0024]所述网关对所述目标元数据进行遍历,将所述目标访问路径和遍历到的元数据中的访问路径进行匹配;
[0025]所述方法还包括:
[0026]所述网关确定符合匹配要求的访问路径所属的实例,得到实例集合;
[0027]根据路由策略从所述实例集合中选取目标实例。
[0028]在其中一个实施例中,所述目标实例的接口信息包括所述目标实例相应的访问端口和访问路径;所述网关将所述访问请求路由至所述服务的所述第二目标实例,以对所述服务进行访问包括:
[0029]所述网关根据所述目标实例相应的互联网协议地址、访问端口和访问路径将所述访问请求路由至所述目标实例,以对所述服务进行访问。
[0030]在其中一个实施例中,所述在网关接收到针对所述服务的访问请求后,通过所述网关确认所述访问请求指定的目标访问路径包括:
[0031]在网关接收到针对所述服务的访问请求后,所述网关获取发送所述访问请求所使用的请求地址;
[0032]所述网关从所述请求地址中提取出目标访问路径。7、根据权利要求1至6任一项所述的方法,其特征在于,所述目标元数据,是所述服务发现中心中所述服务的已上线的实例的元数据。
[0033]第二方面,本申请还提供了一种服务访问系统。所述系统包括:服务管理中心和网关;
[0034]所述服务管理中心,用于获取服务的多个实例发送的接口注册请求,并基于所述接口注册请求获取多个实例相应的接口信息;所述接口信息中包括所述实例相应的访问路径;所述多个实例部署在容器中;针对所述多个实例中的每个实例,将所述实例相应的接口信息存储到服务发现中心中的所述实例的元数据中,以完成接口注册;
[0035]所述网关,用于在接收到针对所述服务的访问请求后,确认所述访问请求指定的目标访问路径;将所述目标访问路径和目标元数据中的访问路径匹配;所述目标元数据,是所述服务发现中心中的所述服务的实例的元数据;确定匹配到的访问路径所对应的目标实例的接口信息;基于所述目标实例的接口信息将所述访问请求路由至所述服务的所述目标
实例,以对所述服务进行访问。
[0036]第三方面,本申请提供了一种服务访问装置。所述装置包括:
[0037]获取模块,用于获取服务的多个实例发送的接口注册请求,并基于所述接口注册请求获取多个实例相应的接口信息;所述接口信息中包括所述实例相应的访问路径;所述多个实例部署在容器中;
[0038]存储模块,用于针对所述多个实例中的每个实例,将所述实例相应的接口信息存储到所述实例的元数据中,以完成接口注册;
[0039]确认模块,用于在接收到针对所述服务的访问请求后,确认所述访问请求指定的目标访问路径;
[0040]匹配模块,用于将所述目标访问路径和目标元数据中的访问路径匹配;所述目标元数据,是所述服务的实例的元数据;
[0041]所述匹配模块,还用于确定匹配到的访问路径所对应的目标实例的接口信息;
[0042]路由模块,用于基于所述目标实例的接口信息将所述访问请求路由至所述服务的所述目标实例,以对所述服务进行访问。
[0043]第四方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行上述服务访问方法的步骤。
[0044]第五方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述服务访问方法的步骤。
[0045]第六方面,本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种服务访问方法,其特征在于,所述方法包括:服务管理中心获取服务的多个实例发送的接口注册请求,并基于所述接口注册请求获取多个实例相应的接口信息;所述接口信息中包括所述实例相应的访问路径;所述多个实例部署在容器中;针对所述多个实例中的每个实例,所述服务管理中心将所述实例相应的接口信息存储到服务发现中心中的所述实例的元数据中,以完成接口注册;在网关接收到针对所述服务的访问请求后,通过所述网关确认所述访问请求指定的目标访问路径;所述网关将所述目标访问路径和目标元数据中的访问路径匹配;所述目标元数据,是所述服务发现中心中的所述服务的实例的元数据;所述网关确定匹配到的访问路径所对应的目标实例的接口信息;所述网关基于所述目标实例的接口信息将所述访问请求路由至所述服务的所述目标实例,以对所述服务进行访问。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:针对所述多个实例中的任意一个实例,执行以下处理:所述服务管理中心判断所述任意一个实例是否订阅上线监听事件;若所述任意一个实例未订阅上线监听事件,则所述服务管理中心为所述任意一个实例向所述服务发现中心订阅上线监听事件;所述服务发现中心基于订阅的所述上线监听事件对所述任意一个实例进行上线状态监听;所述服务发现中心在监听到所述实例处于上线状态后,向所述服务管理中心发送上线通知。3.根据权利要求2所述的方法,其特征在于,所述上线通知是所述服务发现中心在监听到所述实例失联后重新上线的情况下,向所述服务管理中心发送的;所述方法还包括:所述服务管理中心针对所述多个实例中的任意一个实例,执行以下处理:将所述任意一个实例的互联网协议地址和所述任意一个实例的接口信息一一对应存储到所述服务管理中心的数据库中;在所述任意一个实例重新上线后,将所述数据库中与所述互联网协议地址对应的所述接口信息,恢复至所述任意一个实例的元数据中。4.根据权利要求1所述的方法,其特征在于,所述网关将所述目标访问路径和目标元数据中的访问路径匹配包括:所述网关对所述目标元数据进行遍历,将所述目标访问路径和遍历到的元数据中的访问路径进行匹配;所述方法还包括:所述网关确定符合匹配要求的访问路径...
【专利技术属性】
技术研发人员:张红,刘皓中,续航,
申请(专利权)人:金蝶医疗软件科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。