本发明专利技术提供一种跨集群服务的路由方法以及装置,该方法包括:接收从外部系统发出的调用本系统的服务的命令;配置路由表并写入到数据库路由表中,同时将数据库路由表存入缓存器中;定义需要路由的接口,并提供路由的方法,决定需要路由的接口的参数和需要路由的数据的参数;根据所决定的需要路由的接口的参数和需要路由的数据的参数建立一个路由中心服务,并注册所有需要路由的接口;在路由中心服务中调用路由的方法,从数据库路由表中找到需要调用的对应的集群组;和根据所找到的需要调用的对应的集群组得到对应集群组的服务的别名,调用相关的集群组内部的服务来实现路由。
【技术实现步骤摘要】
一种跨集群服务的路由方法以及装置
本专利技术涉及一种路由方法以及装置,尤其涉及跨集群服务的路由方法以及装置。
技术介绍
在现有的面向服务的体系结构(SOA)服务治理方案中,分布调用框架中为了针对数据量的不断提升会采用集群部署的方式来进行系统的扩展。对于集群的扩展目前的技术主要是在NGINX(一种高性能的服务器)这一层来配置处理请求到不同的TOMCAT(一种免费的开放源代码的应用服务器)来达到可以路由的功能。面对高并发、大数据量的网站以及大型的企业级应用系统,通过搭建集群的方式来分担流量,提高数据存储量是一种比较好的解决方案,是通过对集群的NGINX层编写路由的方法,通过某一特征来进行路由到不同的TOMCAT上,达到集群路由的目的。图5为表示现有技术中的跨集群路由的流程图。目前采用的方法是在NGINX层来根据路由规则路由到不同集群的TOMCAT中,再通过集群内部的服务请求调用服务来达到跨集群路由的目的。当本系统需要对外提供WEBSERVICE(一种独立的、低耦合的、自包含的、基于可编程的应用程序)服务,或者提供一些接口服务给其它系统调用的时候,这些请求会不经过NGINX和TOMCAT而直接通过服务的形式来进行调用。即在现有的路由方法以及装置中,存在以下的问题:(1)如果需要发布接口给外部调用的时候,没有办法来实现路由;(2)如果发布的是WEBSERVICE服务的时候同样没有办法来实现路由。这时候现有的技术方案就不能解决上述问题,需要重新考虑一种方案来解决以上的问题。
技术实现思路
本申请专利技术正是基于上述技术问题而提出的,其目的在于提供一种能够解决当跨集群的系统需要对外提供WEBSERVICE服务,或者提供一些接口服务给其它系统调用的时候,现有技术没有办法进行处理的服务的路由问题的跨集群服务的路由方法以及装置。根据本专利技术的一个方面的跨集群服务的路由方法,包括:接收从外部系统发出的调用本系统的服务的命令;配置路由表并写入到数据库路由表中,同时将数据库路由表存入缓存器中;定义需要路由的接口,并提供路由的方法,决定需要路由的接口的参数和需要路由的数据的参数;根据所决定的需要路由的接口的参数和需要路由的数据的参数建立一个路由中心服务,并注册所有需要路由的接口;在路由中心服务中调用路由的方法,从数据库路由表中找到需要调用的对应的集群组;和根据所找到的需要调用的对应的集群组得到对应集群组的服务的别名,调用相关的集群组内部的服务来实现路由。根据本专利技术的一个方面的跨集群服务的路由方法,还包括:在每次调用时进行调用的监控和数据统计。根据本专利技术的一个方面的跨集群服务的路由方法,还包括:判断调用服务是否成功;如果调用服务成功,则将调用服务成功的信息返回到外部系统。根据本专利技术的一个方面的跨集群服务的路由方法,在调用服务中,采用服务应用程序编程接口的方式来调用相关的集群组内部的服务。根据本专利技术的一个方面的跨集群服务的路由方法,在数据库路由表中配置数据与集群组相对应的关系。根据本专利技术一个方面的跨集群服务的路由方法,对应集群组的服务的别名是用来区分不同的集群的。根据本专利技术的一个方面的跨集群服务的路由装置,包括:接收调用服务的命令单元,接收从外部系统发出的调用本系统的服务的命令;配置路由表单元,配置路由表并写入到数据库路由表中,同时将数据库路由表存入缓存器中;决定参数单元,定义路由的接口,并确定路由的方法,决定需要路由的接口的参数和需要路由的数据的参数;建立路由中心服务单元,根据所决定的需要路由的接口的参数和需要路由的数据的参数建立一个路由中心服务,并注册所有需要路由的接口;接口的路由实现单元,调用路由的方法,从数据库路由表中找到需要调用的对应的集群组;和调用服务单元,根据所找到的需要调用的对应的集群组得到对应集群组的服务的别名,调用相关的集群组内部的服务来实现路由。根据本专利技术的一个方面的跨集群服务的路由装置,还包括:监控和数据统计的单元,在每次调用时进行调用的监控和数据统计。根据本专利技术的一个方面的跨集群服务的路由装置,还包括:判断调用成功的单元,判断调用服务是否成功;和返回信息单元,如果调用服务成功,则将调用服务成功的信息返回到外部系统。根据本专利技术的一个方面的跨集群服务的路由装置,在调用服务单元中,采用服务应用程序编程接口的方式来调用相关的集群组内部的服务。根据本专利技术的一个方面的跨集群服务的路由装置,在数据库路由表中配置数据与集群组相对应的关系。根据本专利技术的一个方面的跨集群服务的路由装置,对应集群组的服务的别名是用来区分集群的。综上所述,本申请专利技术通过添加一层路由层,将需要路由的接口在路由层有个路由的实现,然后把该路由的实现发布为外部需要调用的接口。通过路由层来去调用集群内的服务达到路由的目的。本申请专利技术的跨集群服务的路由方法以及装置,能够在外部系统调用本系统的服务的情况下,实现跨集群的服务路由功能,对外提供标准一致的接口,并且可以对路由的接口进行监控服务的调用情况。附图说明图1是表示本申请专利技术的跨集群路由方法的整体流程示意图。图2是表示本申请专利技术的跨集群路由方法的流程图。图3是表示本申请专利技术的数据库路由表的具体配置的例子。图4是表示本申请专利技术的跨集群路由装置的整体示意图。图5是表示现有技术的系统内部的跨集群路由方法的整体流程示意图。具体实施方式以下参照附图对本申请专利技术的实施方式进行说明。图1是表示本申请专利技术的跨集群路由方法的整体示意图。为了便于说明,以两个集群组、两个应用以及两个应用服务器(例如目前应该较为广泛的TOMCAT等)为例,当然本申请专利技术也可以适用于两个以上的集群组、应用以及应用服务器的情况。如图1所示,首先,从作为需要从外部调用本系统的服务的外部系统发出调用本系统的服务的命令,这里的服务可以是接口服务,也可以是WEBSERVICE服务,或者是两者兼有的服务,本系统接收从外部系统发出的调用本系统的服务的命令。接着,对调用服务的命令进行响应,在运维端配置路由表,并将该路由表写入到数据库路由表中。写入到数据库路由表中的路由配置内容作为路由规则被同时存储于缓存器(例如Redis)中进行缓存。关于数据库路由表的路由配置的具体内容如图3的示例所示,具体地规定了数据与集群组号之间的对应关系,例如数据A与集群组1相对应,数据B与集群组2相对应。当然数据库路由表中的路由配置并不限于以上的例子,可以根据具体的情况设置两个以上或者与上述例子不同的对应关系。然后,在运维端根据路由表的配置定义需要路由的接口,即规定需要路由的接口,并确定路由的方法(例如在为订单接口的情况下,是进行接受订单的路由还是取消订单的路由),决定需要路由的接口的参数和需要路由的数据的参数,例如传入库房号:001到第一个集群,传入库房号002到第二个集群。然后,根据上述所决定的需要路由的接口的参数和需要路由的数据的参数,建立一个路由中心服务,注册所有需要路由的接口。在这个路由中心服务中实现需要路由的接口的服务,具体地来说调用之前所确定的路由的方法,根据上述的需要路由的数据的参数,按照数据库路由表中的数据与集群组号之间的对应关系找到需要调用的对应的集群组。接下来,根据所找到的需要调用的对应的集群组得到对应集群的服务的别名(例如别名:cluster1,cluster本文档来自技高网...
【技术保护点】
一种跨集群服务的路由方法,包括:接收从外部系统发出的调用本系统的服务的命令;配置路由表并写入到数据库路由表中,同时将数据库路由表存入缓存器中;定义需要路由的接口,并提供路由的方法,决定需要路由的接口的参数和需要路由的数据的参数;根据所决定的需要路由的接口的参数和需要路由的数据的参数建立一个路由中心服务,并注册所有需要路由的接口;在路由中心服务中调用路由的方法,从数据库路由表中找到需要调用的对应的集群组;和根据所找到的需要调用的对应的集群组得到对应集群组的服务的别名,调用相关的集群组内部的服务来实现路由。
【技术特征摘要】
1.一种跨集群服务的路由方法,包括:接收从外部系统发出的调用本系统的服务的命令;配置路由表并写入到数据库路由表中,同时将数据库路由表存入缓存器中;定义需要路由的接口,并提供路由的方法,决定需要路由的接口的参数和需要路由的数据的参数;根据所决定的需要路由的接口的参数和需要路由的数据的参数建立一个路由中心服务,并注册所有需要路由的接口;在路由中心服务中调用路由的方法,从数据库路由表中找到需要调用的对应的集群组;和根据所找到的需要调用的对应的集群组得到对应集群组的服务的别名,调用相关的集群组内部的服务来实现路由。2.根据权利要求1所述的跨集群服务的路由方法,还包括:在每次调用时进行调用的监控和数据统计。3.根据权利要求1所述的跨集群服务的路由方法,还包括:判断调用服务是否成功,如果调用服务成功,则将调用服务成功的信息返回到外部系统。4.根据权利要求1所述的跨集群服务的路由方法,其中,调用服务包括:采用服务应用程序编程接口的方式来调用相关的集群组内部的服务。5.根据权利要求1所述的跨集群服务的路由方法,其中,在数据库路由表中配置数据与集群组相对应的关系。6.根据权利要求1所述的跨集群服务的路由方法,其中,对应集群组的服务的别名是用来区分集群的。7.一种跨集群服务的路由装置,包括:接收调用服务的命令单元,接收从外部系统发出的调用本系...
【专利技术属性】
技术研发人员:江龙飞,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。