[发明专利]一种治理功能插件化的微服务开发框架及实现方法在审
申请号: | 202210079923.5 | 申请日: | 2022-01-24 |
公开(公告)号: | CN114489585A | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 上官成;刘浩渊;朱静波;黄晓琳 | 申请(专利权)人: | 厦门点触科技股份有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30;G06F8/36;G06F8/70;G06F9/445;G06F9/54;G06F8/656 |
代理公司: | 厦门市新华专利商标代理有限公司 35203 | 代理人: | 朱凌 |
地址: | 361000 福建省厦门市思*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 治理 功能 插件 微服 开发 框架 实现 方法 | ||
1.一种治理功能插件化的微服务开发框架,其特征在于:所述微服务开发框架包括网络层、治理功能层和基础设施层;
所述网络层在微服务开发框架运行过程中,承接实际网络请求的流入,并向下传递至治理功能层;
所述基础设施层包括基础设施实例和构造器池;所述构造器池存储所有的插件构造器和基础设施构造器的函数方法,所述插件构造器和基础设施构造器指的是可以带有入参依赖,具有返回值的构造方法;构造器池中存储的函数方法于微服务开发框架启动过程中统一使用fx框架进行依赖注入和实例生成;插件构造器函数生成的插件将置于治理功能层对应的功能模块中,基础设施构造器生成的基础设施实例将置于基础设施层中;所述基础设施层在微服务开发框架启动过程中,通过构造器池生成各功能模块需要的插件或基础设施实例;
所述治理功能层包括多个功能模块,所述功能模块包括多个插件;所述治理功能层在微服务开发框架运行过程中通过中间件、配置回调或直接提供实例的方式为服务提供对应治理功能;
所述功能模块基于治理功能的实现特点,将治理功能拆分为不同的聚合以配合插件的方式来使用,通过为该插件进行统一接口定义,从而定义某一类插件的具体行为,各功能模块拥有相对独立的接口定义;
所述插件指的是各功能模块内用于提供服务的聚合,包含中间件逻辑及配置变更时触发的逻辑,各插件拥有独立的配置,以及独立的调用逻辑;各插件中的逻辑相对独立,各插件间彼此不相互依赖;每一个插件作为中间件或者独立功能加载进不同的微服务开发框架中;
所述行为指的是对功能模块的接口定义,用来表示某个插件实例的具体实现接口;
将微服务开发框架中的治理功能层拆分为不同的功能模块,为多个插件统一接口定义,在需要开发某一个插件时,根据插件所涉及的功能特性,选择相关联的功能模块接口行为进行实现,加载到对应的功能模块中,最后将功能模块注册进框架中,即可完成功能的接入。
2.一种治理功能插件化的微服务开发框架的实现方法,其特征在于:所述方法基于权利要求1所述的微服务开发框架实现,其包括注册步骤和运行步骤;所述注册步骤如下:
(1)微服务开发框架对外提供注册构造函数行为;
所述注册构造函数行为,指的是通过微服务开发框架提供的接口,将指定签名的插件构造函数或基础设施构造函数注入基础设施层的对应构造器完成注册;
(2)基础设施层处理步骤;
基础设施层将注册的插件构造函数注入开发框架内部的构造器池,该构造器池内存储所有已注册的插件构造函数指针以及对应插件构造函数签名上的基础设施构造函数指针;
对构造器池内所有的构造函数指针使用fx开源依赖注入框架进行处理,完成构造器的初始化流程;当构造器池通过fx依赖注入框架处理后,所有构造器的函数指针返回值就都被赋予了实例值,能够使用这些实例进行函数调用;该fx开源依赖注入框架是将所有已注册的构造器按照函数签名上的依赖关系进行拓扑排序,按顺序进行调用初始化的应用框架;
(3)治理功能层处理步骤;
治理功能层对各类插件构造器返回的已有实例进行函数调用注入对应功能模块,完成插件实例对各类已实现功能模块方法的调用;
所述运行步骤如下:
所有微服务开发框架的功能模块中已完成注册的插件通过使用提供对外路由服务的网络层数据,对外实现相应的功能服务;
当微服务开发框架运行过程中,用户请求进入,优先进入网络层处理,然后进入中间件功能处理,通过微服务开发框架的基础设施层,获取基础设施实例,于中间件扩展功能中加载或操作基础设施实例;待中间件扩展功能处理完,通过插件的中间件行为接口进入业务,根据操作业务逻辑在功能治理层获取插件实例或者操作插件实例进行处理;业务处理完成返回数据,并完成中间件的收尾处理,后续经由网络层向用户返回响应,其中获取实例或者操作实例,都是通过功能治理层处理,配置更新为异步操作,更新后的对象将替换旧对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门点触科技股份有限公司,未经厦门点触科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210079923.5/1.html,转载请声明来源钻瓜专利网。