[发明专利]服务调用方法及装置有效
申请号: | 201710469894.2 | 申请日: | 2017-06-20 |
公开(公告)号: | CN107181675B | 公开(公告)日: | 2020-03-03 |
发明(设计)人: | 梁云龙 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | H04L12/66 | 分类号: | H04L12/66;H04L29/08 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务 调用 方法 装置 | ||
本发明提供了一种服务调用方法及装置,服务网关接收服务调用请求并将该服务调用请求发送给相应的服务提供端;以及,由服务网关将服务提供端返回的响应结果返回给服务调用端。其中,服务调用请求中包含唯一标示当前调用链路的调用标识,且该调用标识在整个调用链路中的各个服务提供端间传递。每个服务调用请求和调用结果都需要经过服务网关转发,因此,服务网关能够获取所有服务调用对应的调用信息。因此,从该调用信息中查找该调用标识所对应的服务调用链路。该方法只需要在服务网关上设置埋点进行采样即可,不需要在客户端和服务端都设置埋点,因此,大大降低了服务的客户端和服务端的开发、部署成本。
技术领域
本发明属于计算机领域,尤其涉及一种服务调用方法及装置。
背景技术
目前,互联网公司的系统通常由大量提供不同功能的子系统采用微服务的架构组成。微服务是指开发多个独立小型、但有完整业务功能的服务,每个服务都有自己的处理和通讯机制,可以部署在单个或多个服务器上。
微服务架构中存在大量的微服务,而且,微服务之间存在复杂的调用关系,因此,开发者很难搞清楚整个系统所包含的各个微服务之间的调用关系,而且,当整个调用链出现性能瓶颈时,很难定位出现问题的服务组件。
针对上述问题,传统的解决方案是:在每个微服务的客户端和服务端分别进行埋点采样,最后综合所有的采样数据分析得出系统的服务调用链路,但这样的方式会给每个微服务的客户端和服务端带来开发和部署压力,并且不同的微服务提供方难以协调出统一的埋点采样方案。
发明内容
有鉴于此,本发明的目的在于提供一种服务调用方法及装置,以解决传统解决方案存在的微服务的客户端和服务端开发和部署难,以及,不同的服务提供方难以统一埋点采样的技术问题。本发明的技术方案如下:
第一方面,本申请提供一种服务调用方法,应用于服务网关中,该方法包括:
接收服务调用请求,所述服务调用请求包括服务调用端标识、服务名称和调用标识,所述调用标识用于唯一标示所述服务调用请求所对应的服务调用链路;
根据所述服务名称将所述服务调用请求发送给相应的服务提供端;
接收所述服务提供端返回的调用结果,并将所述调用结果发送给服务调用端;
获取所述服务调用请求对应的调用信息,以使调用分析端分析所述调用信息中的服务调用端标识、服务提供端标识和所述调用标识获得与所述调用标识对应的服务调用链路。
可选地,所述调用信息还包括调用时间信息,所述调用时间信息包括调用耗时;获取所述调用耗时的过程包括:
记录接收到所述服务调用请求的第一时间戳,以及,记录接收到所述调用请求对应的调用结果的第二时间戳;
计算所述第二时间戳与所述第一时间戳的时间差,得到每个服务的调用耗时。
可选地,所述接收服务调用请求包括:
接收客户端发送的所述服务调用请求;
或者,
接收第一服务提供端发送的调用第二服务提供端的服务调用请求。
第二方面,本申请还提供另一种服务调用方法,应用于服务提供端,该方法包括:
第一服务提供端接收服务网关转发的第一调用请求,所述第一调用请求包括第一服务调用端标识、第一服务名称和调用标识,所述调用标识用于唯一标示所述服务调用请求所对应的服务调用链路;
所述第一服务提供端解析所述第一调用请求得到所述第一调用请求所需调用的第二服务名称,以及所述调用标识;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710469894.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种适于家庭使用的生活用品消毒箱
- 下一篇:一种景观河道清洁装置