一种基于契约的实现服务依赖发现和服务访问的路由方法技术

技术编号:32739808 阅读:16 留言:0更新日期:2022-03-20 08:46
本发明专利技术涉及微服务技术领域,具体是一种基于契约的实现服务依赖发现和服务访问的路由方法,包括以下步骤,S1.根据规范的微任务接连口建立服务契约,对服务契约进行命名,利用服务契约名称作为微任务接连口的默认名称,并依据规格契约生成服务的默认实现代码;S2.利用得到的契约对外发布生成契约服务的规格,将根据代码部署完一个服务后,在任务列表里记录下对向的信息,将对向信息更新到存储环境里,在任务启动的情况下,通过存储环境地址获取任务的地址。本发明专利技术利用构建虚拟本体服务器的方法,使得微服务在研发的过程中前后端研发解耦,进而使得前后端研发不用互相等待,缩短研发时间,因此提高了微服务研发开发效率。因此提高了微服务研发开发效率。因此提高了微服务研发开发效率。

【技术实现步骤摘要】
一种基于契约的实现服务依赖发现和服务访问的路由方法


[0001]本专利技术涉及微服务
,具体是一种基于契约的实现服务依赖发现和服务访问的路由方法。

技术介绍

[0002]微服务架构是一项在云中部署应用和服务的新技术,微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API(功能单元)进行沟通”关键在于该服务可以在自己的程序中运行,在服务公开中,许多服务都可以被内部独立进程所限制,如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。
[0003]中国专利号202011215387.4提供了一种微服务动态路由的方法及系统,该方法为:获取消费端发送的包含待处理外部因子的数据处理请求;根据待处理外部因子在预设的微服务容器中进行路由,确定与待处理外部因子对应的待调用微服务;利用Dubbo,从配置中心中调用待调用微服务响应数据处理请求,得到响应结果;将响应结果反馈给消费端。
[0004]现有技术的微服务研发中,微服务的前端和后端的研发需要相互等待,导致微服务研发的时间较长,进而降低了微服务研发开发效率,且微服务中循环依赖关系复杂,导致微服务的运行效率低下,因此,亟需设计一种基于契约的实现服务依赖发现和服务访问的路由方法来解决上述的问题。

技术实现思路

[0005]本专利技术的目的在于提供一种基于契约的实现服务依赖发现和服务访问的路由方法,以解决上述
技术介绍
中提出的研发效率低、运行效率低的问题。
[0006]本专利技术的技术方案是:一种基于契约的实现服务依赖发现和服务访问的路由方法,S1.根据规范的微任务接连口建立服务契约,对服务契约进行命名,利用服务契约名称作为微任务接连口的默认名称,并依据规格契约生成服务的默认实现代码;
[0007]S2.利用得到的契约对外发布生成契约服务的规格,将根据代码部署完一个服务后,在任务列表里记录下对向的信息,将对向信息更新到存储环境里,在任务启动的情况下,通过存储环境地址获取任务的地址,并发起启动时请求被劫持给署理生成策略,根据策略得到任务的启动地址,以实现任务的发现;
[0008]S3.依据代码自动生成任务的运行环境,并获取到依赖服务变更信息,并根据依赖服务变更信息分析微任务在正常流量下的每个方面的状态,并依据任务的节点和边构建接连口级别的依赖关系,静态分析将储节点修改、客户端日志上报频率回馈到系统稳态,微任务通过静态分析反映服务系统的健康状态与配置的改动状态;
[0009]S4.根据微任务的状态构建虚拟本地服务器,然后通过插件将微任务的客户端发送的请求转发给后端的服务器,并根据规定好的功能单元接连口设计出了一套功能单元文档,再处理功能单元文档并返回一些假数据;
[0010]S5.根据预设的微任务接连口,将服务对象循环依赖进行上移,通过在两个相互循
环依赖的组件之间添加中间层,变循环依赖为间接依赖,并引入一个新组件,并对循环关系进行剥离,将预设接连口单一化,新模块的行为是命令或查询,查询过程中改变对象状态,查询过程中不应有返回值;
[0011]S6.对两个相互循环依赖之间的强依赖和弱依赖进行区分,将强依赖和弱依赖对应的消息进行区分可以得到可靠消息和非可靠消息,并对弱依赖设置开关组件,可靠消息通过系统级的方式进行保障,可靠消息实现关键服务能够运行,开关组件在关闭时实现非可靠消息进行丢弃;
[0012]S7.依据强依赖请求网关,通过网关中的逻辑层对请求进行过滤和处理后分发到各微任务接连口,重新启动网关服务,通过服务注册中心发现服务,构建高度低耦合系统,一个微任务负责产生和维护数据,这些数据以事件作为表现形式并通过消息传递系统发送到搜索引擎中,而另一个微任务则专门负责查询搜索引擎中的数据进行进一步处理。
[0013]进一步地,在所述S3中,通过动态分析定位和排查系统稳态中的性能问题,所述性能问题的起因与异常检测相似,所述性能问题不足以触发报警。
[0014]进一步地,在所述S3中,所述日志上报的内容包括任务相应次数和响应的时间,根据时间计算缩小任务识别的范围,并根据得到的范围查找服务对象。
[0015]进一步地,在所述S3中,分析微任务从粒度、范围和角度进行出发,并将粒度进行排序,并依据粒度时间或大小获得有效的粒度序列,并将序列导入功能单元接连口。
[0016]进一步地,在所述S3中,所述分析范围为单个服务的请求或多个服务的请求,所述分析角度为埋点指标、依赖关系、流量大小中的一种或多种组合。
[0017]进一步地,在所述S6中,所述根据契约关系对强依赖和弱依赖中的信息进行计算权重,并通过权重的大小区分可靠消息和非可靠消息。
[0018]进一步地,在所述S5中,利用间接依赖弱化多个对象之间内的循环依赖的关系,使得多个对象相对独立,从而便于为对象进行编辑。
[0019]进一步地,在所述S5中,新组件用于剥离上下文之间的关系,当下文被导入时,实现上文保持原始状态,防止上下文关联被要求导入。
[0020]进一步地,所述非可靠消息为非核心服务内容,所述微任务的极端资源瓶颈出现时对非核心服务进行丢弃。
[0021]进一步地,在所述S7中,所述搜索引擎通过在互联网上爬行和抓取的方式获取网页信息,并并将获取的信息存入服务数据集,根据数据集中的信息建立索引集,搜索引擎依据相关度进行排序。
[0022]本专利技术通过改进在此提供一种基于契约的实现服务依赖发现和服务访问的路由方法,与现有技术相比,具有如下改进及优点:
[0023](1)本专利技术利用构建虚拟本体服务器的方法,使得微服务在研发的过程中前后端研发解耦,进而使得前后端研发不用互相等待,缩短研发时间,因此提高了微服务研发开发效率。
[0024](2)本专利技术利用在两个相互循环依赖的组件之间添加中间层,使得将循环依赖变为间接依赖,进而简化的微服务之间依赖关系,使得微服务的运行效率更加高效。
[0025](3)本专利技术利用逻辑层对微服务的请求进行过滤和处理,使得微服务架构中,能够确保跨多个服务调用的关键行为的正常运行,进而使得微服务架构的运行更加的稳定。
附图说明
[0026]下面结合附图和实施例对本专利技术作进一步解释:
[0027]图1是本专利技术的整体流程图;
[0028]图2是本专利技术的服务发现流程图;
[0029]图3是本专利技术的逻辑层流程图。
具体实施方式
[0030]下面将结合附图1至图3对本专利技术进行详细说明,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0031]需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于契约的实现服务依赖发现和服务访问的路由方法,其特征在于:包括以下步骤;S1.根据规范的微任务接连口建立服务契约,对服务契约进行命名,利用服务契约名称作为微任务接连口的默认名称,并依据规格契约生成服务的默认实现代码;S2.利用得到的契约对外发布生成契约服务的规格,将根据代码部署完一个服务后,在任务列表里记录下对向的信息,将对向信息更新到存储环境里,在任务启动的情况下,通过存储环境地址获取任务的地址,并发起启动时请求被劫持给署理生成策略,根据策略得到任务的启动地址,以实现任务的发现;S3.依据代码自动生成任务的运行环境,并获取到依赖服务变更信息,并根据依赖服务变更信息分析微任务在正常流量下的每个方面的状态,并依据任务的节点和边构建接连口级别的依赖关系,静态分析将储节点修改、客户端日志上报频率回馈到系统稳态,微任务通过静态分析反映服务系统的健康状态与配置的改动状态;S4.根据微任务的状态构建虚拟本地服务器,然后通过插件将微任务的客户端发送的请求转发给后端的服务器,并根据规定好的功能单元接连口设计出了一套功能单元文档,再处理功能单元文档并返回一些假数据;S5.根据预设的微任务接连口,将服务对象循环依赖进行上移,通过在两个相互循环依赖的组件之间添加中间层,变循环依赖为间接依赖,并引入一个新组件,并对循环关系进行剥离,将预设接连口单一化,新模块的行为是命令或查询,查询过程中改变对象状态,查询过程中不应有返回值;S6.对两个相互循环依赖之间的强依赖和弱依赖进行区分,将强依赖和弱依赖对应的消息进行区分可以得到可靠消息和非可靠消息,并对弱依赖设置开关组件,可靠消息通过系统级的方式进行保障,可靠消息实现关键服务能够运行,开关组件在关闭时实现非可靠消息进行丢弃;S7.依据强依赖请求网关,通过网关中的逻辑层对请求进行过滤和处理后分发到各微任务接连口,重新启动网关服务,通过服务注册中心发现服务,构建高度低耦合系统,一个微任务负责产生和维护数据,这些数据以事件作为表现形式并通过消息传递系统发送到搜索引擎中,而另一个微任务则专门负责查询搜索引擎中的数据进行进一步处理。2.根据权利要求1所述的一种基于契约的实现服务依赖发现和服...

【专利技术属性】
技术研发人员:黎明黄兆鹏吴文波崔张伟
申请(专利权)人:优维科技深圳有限公司
类型:发明
国别省市:

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

1