CN109922151A - 一种微服务之间的数据共享方法 - Google Patents
一种微服务之间的数据共享方法 Download PDFInfo
- Publication number
- CN109922151A CN109922151A CN201910183658.3A CN201910183658A CN109922151A CN 109922151 A CN109922151 A CN 109922151A CN 201910183658 A CN201910183658 A CN 201910183658A CN 109922151 A CN109922151 A CN 109922151A
- Authority
- CN
- China
- Prior art keywords
- data
- micro services
- shared
- consumption side
- shared data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明公开一种微服务之间的数据共享方法,涉及数据交互技术领域;配置微服务之间共享数据的订阅关系,数据消费方搭建共享数据缓存区,同步缓存共享数据,数据消费方微服务直接访问共享数据缓存区,使用共享数据;本发明通过在数据消费方搭建数据缓存区,数据提供方通过监听数据变化,并实时同步数据缓存的方式,实现微服务之间的数据共享,解决交互数据量较大,严重影响业务处理性能,有时甚至会造成系统卡死的问题,在软件架构领域具有很好的推广应用价值。
Description
技术领域
本发明公开一种微服务之间的数据共享方法,涉及数据交互技术领域。
背景技术
随着互联网及云计算技术的发展,微服务架构出现,它是一项在云中部署应用和服务的新技术。微服务围绕着业务领域组件来创建应用,应用可独立地进行开发、管理和加速,在分散的组件中使用微服务云架构和平台使部署、管理和服务功能交付变得更加简单。微服务架构因其轻量、易部署等特性,得到越来越多的应用,尤其在基于云架构的软件系统领域,已成为基本软件架构模式。
基于微服务架构的软件系统,不同的微服务之间需要进行数据共享;目前微服务之间,大多数采用调用服务API的方式,进行数据共享或通信。这种方式,对于数据量比较小、使用不频繁的场景,比较适用;一旦交互数据量较大,则会严重影响业务处理性能,甚至会造成系统阻塞。
本发明针对上述现有技术的不足,提供一种微服务之间的数据共享方法,该方法通过在数据消费方搭建数据缓存区,数据提供方通过监听数据变化,并实时同步数据缓存的方式,实现微服务之间的数据共享,在软件架构领域具有很好的推广应用价值。
发明内容
本发明针对现有技术的问题,为微服务架构的软件系统,提供一种微服务之间的数据共享方法,具有数据同步性能高、数据使用效率高等特点,在软件架构领域具有很好的推广应用价值。
本发明提出的具体方案是:
一种微服务之间的数据共享方法,具体步骤为:
S10:配置共享数据的订阅关系,
S11:数据消费方搭建共享数据缓存区,
S12:同步缓存共享数据:数据提供方的微服务监听共享数据变化,并发送变化的共享数据,数据消费方的微服务接收变化的共享数据,并更新缓存共享数据,
S13:数据消费方微服务直接访问共享数据缓存区,使用共享数据。
所述的方法中步骤S10中对需要共享的数据进行描述,配置数据提供方的微服务及数据变更事件监听器,以及配置数据消费方的微服务。
所述的方法中步骤S12中数据提供方的微服务利用数据变更事件监听器,一旦发现共享数据发生变更,实时捕获共享数据变化,并把变更的共享数据加载至数据变更集中。
所述的方法中步骤S12中数据提供方微服务通过消息队列中间件,把产生的数据变更集以消息的方式进行发送,数据消费方微服务通过消息队列中间件,接收数据提供方微服务发送的数据变更集。
所述的方法中步骤S12中数据消费方微服务通过数据同步组件,将接收的数据变更集,同步至共享数据缓存区。
所述的方法中步骤S11中在数据消费方的本地数据库中搭建用于缓存的数据库实例,并创建共享数据对应的缓存表。
一种微服务之间的数据共享工具,包括配置单元、数据消费方控制单元及数据提供方控制单元,
配置单元配置共享数据的订阅关系,
数据消费方控制单元搭建数据消费方的共享数据缓存区,
数据提供方微服务利用数据提供方控制单元监听共享数据变化,并发送变化的共享数据,数据消费方微服务利用数据消费方控制单元接收变化的共享数据,并更新缓存共享数据,
数据消费方微服务利用数据消费方控制单元直接访问共享数据缓存区,使用共享数据。
所述的工具中配置单元对需要共享的数据进行描述,配置数据提供方的微服务及数据提供方控制单元的数据变更事件监听器,以及配置数据消费方的微服务。
所述的工具中数据提供方微服务利用数据提供方控制单元利用数据变更事件监听器,一旦发现共享数据发生变更,实时捕获共享数据变化,并把变更的共享数据加载至数据变更集中。
所述的工具中数据提供方微服务利用数据提供方控制单元通过消息队列中间件,把产生的数据变更集以消息的方式进行发送,数据消费方微服务利用数据消费方控制单元通过消息队列中间件,接收数据提供方微服务发送的数据变更集。
本发明的有益之处是:
本发明提供一种微服务之间的数据共享方法,配置微服务之间共享数据的订阅关系,数据消费方搭建共享数据缓存区,同步缓存共享数据,数据消费方微服务直接访问共享数据缓存区,使用共享数据;
本发明通过在数据消费方搭建数据缓存区,数据提供方通过监听数据变化,并实时同步数据缓存的方式,实现微服务之间的数据共享,解决交互数据量较大,严重影响业务处理性能,有时甚至会造成系统卡死的问题,在软件架构领域具有很好的推广应用价值。
附图说明
图1是本发明方法流程示意图;
图2是本发明数据交互框架示意图。
具体实施方式
本发明提供一种微服务之间的数据共享方法,具体步骤为:
S10:配置共享数据的订阅关系,
S11:数据消费方搭建共享数据缓存区,
S12:同步缓存共享数据:数据提供方的微服务监听共享数据变化,并发送变化的共享数据,数据消费方的微服务接收变化的共享数据,并更新缓存共享数据,
S13:数据消费方微服务直接访问共享数据缓存区,使用共享数据。
同时提供与上述方法相对应的一种微服务之间的数据共享工具,包括配置单元、数据消费方控制单元及数据提供方控制单元,
配置单元配置共享数据的订阅关系,
数据消费方控制单元搭建数据消费方的共享数据缓存区,
数据提供方微服务利用数据提供方控制单元监听共享数据变化,并发送变化的共享数据,数据消费方微服务利用数据消费方控制单元接收变化的共享数据,并更新缓存共享数据,
数据消费方微服务利用数据消费方控制单元直接访问共享数据缓存区,使用共享数据。
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
以某企业ERP系统,使用本发明方法为例,ERP系统中包含主数据管理(简称MDM)、财务会计(简称FI)、库存管理(简称IM)等微服务。FI、IM等微服务,需调用MDM生成的主数据,比如组织、提供商、物料等。下面将阐述IM共享MDM中物料数据的流程,即IM为数据消费方的微服务,MDM为数据提供方的微服务,具体过程为:
配置MDM微服务和IM微服务要共享数据的订阅关系,对需要共享的数据进行描述,配置MDM数据提供方的微服务及数据变更事件监听器,以及配置IM数据消费方的微服务;
IM微服务在本地数据库搭建共享数据缓存区,并创建物料数据对应的缓存表;
基于消息中间件,进行物料数据的缓存同步,参考图2所示,包括如下步骤:
步骤1:在MDM微服务中,监听物料数据的变化,
MDM微服务中,启动物料数据变化事件监听器,当物料数据变更并保存成功后,把变更数据加载至数据变更集(ChangeSet);
步骤2:MDM调用消息中间件的消息发送接口,把数据变更集发送出去,
步骤3:IM微服务,通过消息中间件,接收MDM发送的物料数据变更集,
步骤4:通过数据同步组件,把接收的物料数据,同步到IM微服务的本地数据库的缓存区,
与使用本地数据一样,IM微服务通过访问本地数据缓存区,来使用MDM微服务提供的物料数据。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (10)
1.一种微服务之间的数据共享方法,其特征是具体步骤为:
S10:配置共享数据的订阅关系,
S11:数据消费方搭建共享数据缓存区,
S12:同步缓存共享数据:数据提供方的微服务监听共享数据变化,并发送变化的共享数据,数据消费方的微服务接收变化的共享数据,并更新缓存共享数据,
S13:数据消费方微服务直接访问共享数据缓存区,使用共享数据。
2.根据权利要求1所述的方法,其特征是步骤S10中对需要共享的数据进行描述,配置数据提供方的微服务及数据变更事件监听器,以及配置数据消费方的微服务。
3.根据权利要求2所述的方法,其特征是步骤S12中数据提供方的微服务利用数据变更事件监听器,一旦发现共享数据发生变更,实时捕获共享数据变化,并把变更的共享数据加载至数据变更集中。
4.根据权利要求2或3所述的方法,其特征是步骤S12中数据提供方微服务通过消息队列中间件,把产生的数据变更集以消息的方式进行发送,
数据消费方微服务通过消息队列中间件,接收数据提供方微服务发送的数据变更集。
5.根据权利要求4所述的方法,其特征是步骤S12中数据消费方微服务通过数据同步组件,将接收的数据变更集,同步至共享数据缓存区。
6.根据权利要求1或5所述的方法,其特征是步骤S11中在数据消费方的本地数据库中搭建用于缓存的数据库实例,并创建共享数据对应的缓存表。
7.一种微服务之间的数据共享工具,其特征是包括配置单元、数据消费方控制单元及数据提供方控制单元,
配置单元配置共享数据的订阅关系,
数据消费方控制单元搭建数据消费方的共享数据缓存区,
数据提供方微服务利用数据提供方控制单元监听共享数据变化,并发送变化的共享数据,数据消费方微服务利用数据消费方控制单元接收变化的共享数据,并更新缓存共享数据,
数据消费方微服务利用数据消费方控制单元直接访问共享数据缓存区,使用共享数据。
8.根据权利要求7所述的工具,其特征是配置单元对需要共享的数据进行描述,配置数据提供方的微服务及数据提供方控制单元的数据变更事件监听器,以及配置数据消费方的微服务。
9.根据权利要求8所述的工具,其特征是数据提供方微服务利用数据提供方控制单元利用数据变更事件监听器,一旦发现共享数据发生变更,实时捕获共享数据变化,并把变更的共享数据加载至数据变更集中。
10.根据权利要求7或8所述的工具,其特征是数据提供方微服务利用数据提供方控制单元通过消息队列中间件,把产生的数据变更集以消息的方式进行发送,数据消费方微服务利用数据消费方控制单元通过消息队列中间件,接收数据提供方微服务发送的数据变更集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910183658.3A CN109922151A (zh) | 2019-03-12 | 2019-03-12 | 一种微服务之间的数据共享方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910183658.3A CN109922151A (zh) | 2019-03-12 | 2019-03-12 | 一种微服务之间的数据共享方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109922151A true CN109922151A (zh) | 2019-06-21 |
Family
ID=66964417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910183658.3A Pending CN109922151A (zh) | 2019-03-12 | 2019-03-12 | 一种微服务之间的数据共享方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109922151A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930529A (zh) * | 2020-10-09 | 2020-11-13 | 上海富友支付服务股份有限公司 | 基于消息队列及微服务的数据同步方法、模块及系统 |
CN112235378A (zh) * | 2020-09-29 | 2021-01-15 | 北京三快在线科技有限公司 | 数据更新方法、装置、存储介质及电子设备 |
CN113805910A (zh) * | 2020-11-26 | 2021-12-17 | 北京沃东天骏信息技术有限公司 | 一种应用中的数据共享的方法及系统 |
CN114780261A (zh) * | 2022-04-28 | 2022-07-22 | 四川虹魔方网络科技有限公司 | 智能设备运营管理中基础数据微服务化共享系统及方法 |
CN115934765A (zh) * | 2022-10-11 | 2023-04-07 | 中电金信软件(上海)有限公司 | 微服务系统间的数据共享方法、装置及电子设备 |
CN116166756A (zh) * | 2023-04-26 | 2023-05-26 | 浪潮通用软件有限公司 | 一种微服务应用数据的共享方法、装置及设备 |
CN117176379A (zh) * | 2023-06-25 | 2023-12-05 | 广东电网有限责任公司佛山供电局 | 一种基于微服务架构的非结构化数据共享方法及装置 |
CN113805910B (zh) * | 2020-11-26 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 一种应用中的数据共享的方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760126A (zh) * | 2011-04-26 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种分布式系统中的数据同步方法和分布式系统 |
CN104599042A (zh) * | 2014-12-26 | 2015-05-06 | 国家电网公司 | 一种基于协约的数据管理和服务体系管理方法 |
CN105095364A (zh) * | 2015-06-26 | 2015-11-25 | 车智互联(北京)科技有限公司 | 一种数据同步系统和方法 |
CN106850759A (zh) * | 2016-12-31 | 2017-06-13 | 广州勤加缘科技实业有限公司 | MySQL数据库集群处理方法及其处理系统 |
CN106844387A (zh) * | 2015-12-07 | 2017-06-13 | 北京航天长峰科技工业集团有限公司 | 一种基于dubbo的间接数据访问方法 |
US20170255663A1 (en) * | 2016-03-07 | 2017-09-07 | Researchgate Gmbh | Propagation of data changes in a distributed system |
CN109451032A (zh) * | 2018-11-20 | 2019-03-08 | 上海联寓智能科技有限公司 | 一种消息传递系统 |
-
2019
- 2019-03-12 CN CN201910183658.3A patent/CN109922151A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760126A (zh) * | 2011-04-26 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种分布式系统中的数据同步方法和分布式系统 |
CN104599042A (zh) * | 2014-12-26 | 2015-05-06 | 国家电网公司 | 一种基于协约的数据管理和服务体系管理方法 |
CN105095364A (zh) * | 2015-06-26 | 2015-11-25 | 车智互联(北京)科技有限公司 | 一种数据同步系统和方法 |
CN106844387A (zh) * | 2015-12-07 | 2017-06-13 | 北京航天长峰科技工业集团有限公司 | 一种基于dubbo的间接数据访问方法 |
US20170255663A1 (en) * | 2016-03-07 | 2017-09-07 | Researchgate Gmbh | Propagation of data changes in a distributed system |
CN106850759A (zh) * | 2016-12-31 | 2017-06-13 | 广州勤加缘科技实业有限公司 | MySQL数据库集群处理方法及其处理系统 |
CN109451032A (zh) * | 2018-11-20 | 2019-03-08 | 上海联寓智能科技有限公司 | 一种消息传递系统 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235378A (zh) * | 2020-09-29 | 2021-01-15 | 北京三快在线科技有限公司 | 数据更新方法、装置、存储介质及电子设备 |
CN112235378B (zh) * | 2020-09-29 | 2022-12-16 | 北京三快在线科技有限公司 | 数据更新方法、装置、存储介质及电子设备 |
CN111930529A (zh) * | 2020-10-09 | 2020-11-13 | 上海富友支付服务股份有限公司 | 基于消息队列及微服务的数据同步方法、模块及系统 |
CN113805910A (zh) * | 2020-11-26 | 2021-12-17 | 北京沃东天骏信息技术有限公司 | 一种应用中的数据共享的方法及系统 |
CN113805910B (zh) * | 2020-11-26 | 2024-05-17 | 北京沃东天骏信息技术有限公司 | 一种应用中的数据共享的方法及系统 |
CN114780261A (zh) * | 2022-04-28 | 2022-07-22 | 四川虹魔方网络科技有限公司 | 智能设备运营管理中基础数据微服务化共享系统及方法 |
CN114780261B (zh) * | 2022-04-28 | 2022-11-29 | 四川虹魔方网络科技有限公司 | 智能设备运营管理中基础数据微服务化共享系统及方法 |
CN115934765A (zh) * | 2022-10-11 | 2023-04-07 | 中电金信软件(上海)有限公司 | 微服务系统间的数据共享方法、装置及电子设备 |
CN116166756A (zh) * | 2023-04-26 | 2023-05-26 | 浪潮通用软件有限公司 | 一种微服务应用数据的共享方法、装置及设备 |
CN117176379A (zh) * | 2023-06-25 | 2023-12-05 | 广东电网有限责任公司佛山供电局 | 一种基于微服务架构的非结构化数据共享方法及装置 |
CN117176379B (zh) * | 2023-06-25 | 2024-02-09 | 广东电网有限责任公司佛山供电局 | 一种基于微服务架构的非结构化数据共享方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109922151A (zh) | 一种微服务之间的数据共享方法 | |
JP5306523B2 (ja) | 通信端末デバイスを管理するための方法、通信端末、及び通信システム | |
CN101207550B (zh) | 负载均衡系统及多种业务实现负载均衡的方法 | |
TW548930B (en) | Application development interface for multi-user applications executable over communication networks | |
US20110296000A1 (en) | Systems and methods for exporting usage history data as input to a management platform of a target cloud-based network | |
EP3061283A1 (en) | Modeling network signaling in a mobile network | |
JP2010015556A (ja) | 分散アプリケーションコンテキストを意識したトランザクション処理のための方法及び装置 | |
EP2929674B1 (en) | Server load management | |
CN105119787B (zh) | 一种基于软件定义的公共互联网接入系统和方法 | |
CN114615096B (zh) | 基于事件驱动架构的电信计费方法、系统及相关设备 | |
CN106134141A (zh) | 一种更新网络服务描述器nsd的方法及装置 | |
CN106453541A (zh) | 一种数据同步的方法、服务器以及数据同步系统 | |
Azzara et al. | Middleware solutions in WSN: The IoT oriented approach in the ICSI project | |
EP2838243A1 (en) | Capability aggregation and exposure method and system | |
CN109379217A (zh) | 一种城域网异厂家业务编排器 | |
CN104065514A (zh) | 一种基于netconf中继的家庭网络管理方法 | |
CN105991363A (zh) | 监控处理方法及装置 | |
US9198029B2 (en) | Service processing method and device for ubiquitous UE | |
CN110213156A (zh) | 一种跨中心群组即时通信方法和系统 | |
US10536397B2 (en) | Packet count-based object locking protocol | |
CN113852939A (zh) | 面向云原生的用户面功能微服务系统 | |
JPH10513327A (ja) | 通信管理方法と装置および管理装置付きの電気通信システム | |
CN107979498A (zh) | 一种mesh 网络集群及基于所述集群的大文件传输方法 | |
CN101080899B (zh) | 用于远程服务器管理的方法和系统 | |
CN104468656A (zh) | 一种移动数据的下载上传方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190621 |