[发明专利]一种微服务框架中的服务处理方法及相关设备有效
申请号: | 201711485852.4 | 申请日: | 2017-12-30 |
公开(公告)号: | CN109995713B | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 杨健 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 微服 框架 中的 服务 处理 方法 相关 设备 | ||
本申请涉及微服务技术领域,具体涉及一种微服务框架中的服务处理方法及相关设备。该方法包括第一微服务SDK接收服务调用请求,服务调用请求中携带有第二服务的服务名称,第二服务包括至少两个服务实例节点;第一微服务SDK根据第二服务的路由分流规则和服务注册信息将服务调用请求发送至第二服务中对应的服务实例节点,路由分流规则为根据服务注册信息和分流参数设置的规则,服务注册信息包括服务实例节点的地址和第二服务的服务名称。本申请实施例通过将该分流参数应用在路由分流规则中,在发起服务调用请求后,便能够由第一微服务SDK执行该服务分流规则对服务调用请求进行分流,服务的发布方和调用方不需要任何额外开发,节省开发成本。
技术领域
本申请涉及微服务技术领域,具体涉及一种微服务框架中的服务处理方法及相关设备。
背景技术
微服务已经成为当前企业级开发当中非常流行的架构,在微服务架构下,之前的单体应用被切分成一个个独立的服务,服务之间通过微服务框架进行远程过程调用(Remote Procedure Call,RPC)通信。微服务框架是一种包含三个部分的架构,即服务发布端、服务调用端和服务注册中心。服务发布端和服务调用端上均部署有微服务软件开发工具包 (Software Development Kit,SDK)。
该框架的执行过程大致可以是服务的发布者使用服务发布端的微服务SDK开发新服务,自动将服务元数据信息发布到服务注册中心,该服务元数据信息包括服务名、网络协议(Internet Protocol,IP)和端口等;服务调用者通过服务调用端的微服务SDK向服务注册中心请求自己需要调用服务的相关信息;最后,服务调用者根据获取到的服务的元数据信息(包括服务名、参数信息、发布者IP、端口)信息向对应服务发起远程调用。可以看出,该过程中微服务框架对开发屏蔽了远程网络通信的各种细节和复杂性,开发者可以像本地调用的方式一样去实现远程方法调用。
对于服务来说,在实际运行过程中,很容易出现相同的服务同时存在多个不同的高低版本,不同版本的服务提供的服务也可以是有区别的,对于服务调用者来说,并不知晓这一情况,因此需要对通过服务调用端发布的调用请求进行合理的分流;在微服务架构中,这种同时存在多个版本的服务可以被称为灰度升级,即服务的高低两个版本之间能够平滑过渡升级的一种方式。对于接收到的针对该服务的请求,系统会根据一些条件对这些请求进行分流,使得请求被转发至对应的服务版本,此过程可以被称之为分流或者灰度分流。
然而,由于微服务框架将远程调用模拟为本地调用,将分布式系统中复杂的网络间通信和路由机制封装,用户可以像调用本地服务接口一样去调用一个远程服务接口;但是随着灰度升级的流行,微服务框架的这种优势却也带来问题,即用户无法灵活控制调用请求的实际路由。对于开发者来说,每个服务的灰度分流逻辑均需要单独编码处理,并且不同的服务中,灰度分流逻辑难以抽象和公用,需要重新将分流逻辑的代码复制一遍,此外,为了微服务间解耦的基本原则,服务发布端任何分流字段和分流逻辑的变更,所有调用者都必须配合改动并重新发布,而且不同的服务由于不同的应用场景,灰度分流方案之间也不具备移植性,最终导致业务实现的开发复杂度高,开发成本高。
发明内容
本申请实施例提供了一种微服务框架中的服务处理方法及相关设备来解决目前微服务框架中应用灰度升级时带来的业务实现的开发复杂度高,开发成本高的问题。
本申请实施例的第一方面提供一种微服务框架中的服务处理方法,该方法中,第一服务的第一微服务SDK接收第一服务发送的服务调用请求,该服务调用请求主要用于向第二服务发起服务调用,并且该请求中还携带有第二服务的名称,对于第二服务,至少包括两个服务实例节点;当第一微服务SDK从服务名称确定第二服务设有路由分流规则时,便会按照该路由分流规则和服务注册信息对该请求进行分流,发送至对应的服务实例节点,服务注册信息中包括服务实例节点的地址和第二服务的服务名称,该路由分流规则具体是服务注册中心根据第二微服务SDK上报的服务注册信息和分流参数设置的规则,所述服务注册信息为所述第二服务发布时在所述服务注册中心中注册的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711485852.4/2.html,转载请声明来源钻瓜专利网。