[发明专利]定时调用微服务的方法、系统、设备和介质在审
| 申请号: | 201911412216.8 | 申请日: | 2019-12-31 |
| 公开(公告)号: | CN111200651A | 公开(公告)日: | 2020-05-26 |
| 发明(设计)人: | 刘拓;蒙晓净;高鹏 | 申请(专利权)人: | 优刻得科技股份有限公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/12 |
| 代理公司: | 上海华诚知识产权代理有限公司 31300 | 代理人: | 崔巍 |
| 地址: | 200090 上海市杨浦*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 定时 调用 微服 方法 系统 设备 介质 | ||
本发明涉及软件应用领域,特别涉及定时调用微服务的方法、系统、设备和介质。本发明的定时调用微服务的方法包括:接收微服务的注册请求;存储微服务;拉取当前时间范围内要调用的微服务;调用拉取的微服务。本发明可以动态地配置和管理微服务,并且可以定时地触发微服务的调用,解决了微服务定时调用场景下的问题,本身也是微服务,可以无缝融入微服务架构。
技术领域
本发明涉及软件应用领域,特别涉及定时调用微服务的方法、系统、设备和介质。
背景技术
微服务架构是现代软件工程的一种流行架构风格。一个大型的复杂软件应用由一个或多个微服务构成,每个微服务之间独立部署,互相松耦合,每个微服务只专注完成一个任务。微服务调用指的是生成微服务的请求,将请求发送到微服务的对应的目标地址,获取对应的结果和数据,以完成相应的任务。在微服务架构下,软件系统通过对一个或多个微服务进行一次或多次调用,实现各种各样的功能。
目前调用微服务的方式有两种。一种是直接调用,一种是间接调用。
直接调用微服务,即获得微服务的地址,生成请求,直接向该地址发送请求获得结果,这一过程也被称之为同步调用。直接调用方式是微服务调用的一般方式,一般不指明方式的微服务调用均是指直接调用。但是直接调用无法处理以下场景:一是异步调用场景,主程序调用的某个微服务执行时间较长,甚至超出了一般请求的超时时间,因此需要在该微服务开始执行之后(不等待结果)立即返回以避免主程序阻塞,如果后一个微服务的调用依赖前一个微服务的结果,则主程序无法直接调用后一个微服务,需要等待前一个微服务产生结果,再异步触发它的调用。二是定时调用场景,在指定的时刻调用微服务。以上两种场景均需要依赖额外的方法和装置,采用间接调用的方式来实现。
针对异步调用的场景,目前一般使用消息队列服务来实现,如RabbitMQ、Kafka等产品。主程序执行的前一个微服务在执行结束时可以向消息队列发送一条消息,包含执行的结果,消息队列在接收到这条消息之后,直接将消息推送给主程序,触发后一个微服务的调用。针对定时调用的场景,目前一般使用定时器来实现,如crontab。用户按照一定的规则配置一个文本文件,规定微服务调用的时刻和方式,然后由定时器在指定的时刻调用微服务。
关于使用定时器来实现定时调用的方法和装置,目前存在以下不足:
1.无法动态设置微服务调用任务,定时任务的创建删除和修改只能依赖自动或半自动修改配置文件的方式,无法使用接口对配置动态进行增删查改。
2.定时器不具备高可用能力,由于定时器本身是一个有状态服务,因此不能像无状态服务一样使用多副本的方式来实现高可用,单一副本的定时器遭遇主机宕机事件将使得服务不可用。
3.定时器的执行控制逻辑无法和其他微服务结合使用,由于定时器没有动态配置修改接口,因此它的生成和配置无法结合业务逻辑以配合其他微服务去完成一些复杂的控制逻辑。
4.定时器本身不是微服务,无法加入微服务编排逻辑,对整个微服务架构有一定程度的破坏。
发明内容
本发明的目的在于提供定时调用微服务的方法、系统、设备和介质,可以动态地配置和管理微服务,并且可以定时地触发微服务的调用,解决了微服务定时调用场景下的问题,本身也是微服务,可以无缝融入微服务架构。
本发明公开了一种定时调用微服务的方法,所述方法包括:
接收微服务的注册请求;
存储所述微服务;
拉取当前时间范围内要调用的所述微服务;
调用拉取的所述微服务。
可选地,存储所述微服务包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于优刻得科技股份有限公司,未经优刻得科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911412216.8/2.html,转载请声明来源钻瓜专利网。





