CN111475537A - 基于pulsar的全球数据同步系统 - Google Patents

基于pulsar的全球数据同步系统 Download PDF

Info

Publication number
CN111475537A
CN111475537A CN202010275946.4A CN202010275946A CN111475537A CN 111475537 A CN111475537 A CN 111475537A CN 202010275946 A CN202010275946 A CN 202010275946A CN 111475537 A CN111475537 A CN 111475537A
Authority
CN
China
Prior art keywords
message
client
data synchronization
global data
monitoring
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.)
Granted
Application number
CN202010275946.4A
Other languages
English (en)
Other versions
CN111475537B (zh
Inventor
李进
顾湘余
杨烨
于硕
陈志成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Quwei Science & Technology Co ltd
Original Assignee
Hangzhou Quwei Science & Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Quwei Science & Technology Co ltd filed Critical Hangzhou Quwei Science & Technology Co ltd
Priority to CN202010275946.4A priority Critical patent/CN111475537B/zh
Publication of CN111475537A publication Critical patent/CN111475537A/zh
Application granted granted Critical
Publication of CN111475537B publication Critical patent/CN111475537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于pulsar的全球数据同步系统,包括管理控制台、服务端、客户端和监控端;管理控制台,提供管理集群的功能,用于创建队列名和管理同步集群;服务端使用内部全球专线进行信息高效送达;客户端作为消息的生产者和消费者,客户端的接口适配了spring框架;监控端采用时序数据库,收集消息同步延迟、消息生产耗时、消息消费耗时的信息,该信息用于监控和实行报警;本发明提供客户端更易于接入使用、业务不需要考虑数据同步的一种基于pulsar的全球数据同步系统。

Description

基于pulsar的全球数据同步系统
技术领域
本发明涉及数据同步技术领域,更具体的说,它涉及基于pulsar的全球数据同步系统。
背景技术
在公司业务存在跨机房访问的场景,需要开发出一种解决全球数据同步的平台。业界常用的同步方案:
1.通过mysql master和slave架构同步。该方案比较笨重,数据修改后需要修改数据库中的模型。
2.使用收费的阿里DTS服务,该方案长期使用存在成本较高的问题。
3.业务使用RocketMQ来保证数据的可达,但RocketMQ未提供多机房布署方案,需要在此基础上额外开发路由组件和同步组件才能来确保数据的可达和一致性。
发明内容
本发明克服了现有技术的不足,提供基于Apache pulsar的全球数据同步系统。
本发明的技术方案如下:
基于pulsar的全球数据同步系统,包括管理控制台、服务端、客户端和监控端;
管理控制台,提供管理集群的功能,用于创建队列名和管理同步集群;
服务端使用内部全球专线进行信息高效送达;
客户端作为消息的生产者和消费者,客户端的接口适配了spring框架;
监控端采用时序数据库,收集消息同步延迟、消息生产耗时、消息消费耗时的信息,该信息用于监控和实行报警。
进一步的,服务端使用pulsar消息队列分发全球数据。
进一步的,客户端的接口采用对原生pulsar-client进行封装改造。
本发明相比现有技术优点在于:
本发明数据同步平台使用pulsar消息队列分发全球数据,使用内部全球专线确保了到达。管理平台支持生产环境中的多集群管理、支持实时修改同步策略。客户端更易于接入使用、业务不需要考虑数据同步的问题。监控层对接业务监控平台,及时通知同步异常。
附图说明
图1为本发明的结构框架流程图;
图2为本发明的全局Zookeeper部署图。
具体实施方式
下面结合附图和具体实施方式对本发明进一步说明。
如图1、图2所示,基于pulsar的全球数据同步系统,包括管理控制台、服务端、客户端和监控端。
管理控制台,提供管理集群的功能,用于创建队列、命名空间、通过topic实现消息通信、管理同步集群和配置全球同步路由策略。管理控制台使用前端框架开发一套后台管理系统,方便开发者创建队列、命名空间、通过topic实现消息通信、管理同步集群和配置全球同步路由策略。
服务端使用内部全球专线进行信息高效送达。服务端使用pulsar消息队列来分发全球数据,确保信息高效送达。服务端也称Broker,每个服务端的机房中单独部署一个集群,每个机房的消息都会持久化存储到分布式存储组件Bookie,Broker和Bookie都是以集群方式部署,这两个组件可共用一个集群,通过不同的端口暴露服务,根据消息全球路由策略,通过ACK和重试手段保证消息可靠送达不丢失,使用内部全球专线进行信息高效送达,同时其可以对TCP的拥塞控制策略进行优化达到提升网络传输性能的效果。其中,服务端需要部署的组件包括Broker组件和存储所依赖的Bookie组件,为了保证高可用和数据冗余存储,这两个组件都需要部署多个节点,最好是奇数节点。两个组件可以都部署在相同的节点上,并且配置好Zookeeper集群。Broker和Bookie都依赖Zookeeper存储集群信息,为了将全球各机房不同的集群连成一个整体,每个集群都需要注册信息到一个全局Zookeeper,以达到连成一个整体的作用。
具体的,搭建Zookeeper集群,这里包括全局Zookeeper和局部Zookeeper,搭建全局Zookeeper的方法是,先在一个地理位置中心的机房搭建一个Zookeeper集群,保持节点奇数个,且节点奇数个大于等于3个节点,然后在其它节点仅部署观察节点,而不需要在其它节点部署追随者节点,且保持总数是奇数,全局Zookeeper部署如图2所示。局部Zookeeper在每个机房独立部署即可。
客户端的接口适配了spring框架。客户端的接口采用对原生pulsar-client进行封装改造,适配spring框架,简化全球数据消费或者生产逻辑、完成对数据消费或者生产信息的埋点。客户端一般作为消息的生产者和消费者;当作为生产者时,只需要确保生产的消息成功写入它所在的集群,无需考虑消息同步到其它机房的问题。当作为消费者时,为了保证数据一致性,需要考虑幂等性,即当发生重试多次消费时产生的效果和消费一次是一致的
具体的,客户端作为生产者时,调用相关SDK的API发送消息到Broker组件,Broker组件会保证持久化存储和不同机房集群间的消息同步,作为消费者的客户端会扩展提供的SDK相关接口,实现自己数据的同步逻辑,为了保证数据一致性,同步逻辑必须保证幂等性。这样不同机房的数据便可以通过消息进行同步。比如中国的卖家在杭州的机房发布了一批商品数据,通过消息路由策略的配置,需要同步到海外某机房,这样海外的用户便可以搜索到这些商品进而下单。
监控端采用时序数据库,收集消息同步延迟、消息生产耗时、消息消费耗时等信息,该信息用于监控和实行报警。因为原生pulsar的监控数据存放在服务应用内存中,不符合开发者排查问题并且无法保留历史监控数据。因此基于单控制台多集群的实际需求,将监控数据存储在服务端的数据库采用时序数据库,并使用pulsar消息队列分发全球数据,便于汇总、监控和查看历史数据保留,对同步失败的数据进行报警通知。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。

Claims (3)

1.基于pulsar的全球数据同步系统,其特征在于,包括管理控制台、服务端、客户端和监控端;
管理控制台,提供管理集群的功能,用于创建队列名和管理同步集群;
服务端使用内部全球专线进行信息高效送达;
客户端作为消息的生产者和消费者,客户端的接口适配了spring框架;
监控端采用时序数据库,收集消息同步延迟、消息生产耗时、消息消费耗时的信息,该信息用于监控和实行报警。
2.根据权利要求1所述的基于pulsar的全球数据同步系统,其特征在于,服务端使用pulsar消息队列分发全球数据。
3.根据权利要求1所述的基于pulsar的全球数据同步系统,其特征在于,客户端的接口采用对原生pulsar-client进行封装改造。
CN202010275946.4A 2020-04-09 2020-04-09 基于pulsar的全球数据同步系统 Active CN111475537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010275946.4A CN111475537B (zh) 2020-04-09 2020-04-09 基于pulsar的全球数据同步系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010275946.4A CN111475537B (zh) 2020-04-09 2020-04-09 基于pulsar的全球数据同步系统

Publications (2)

Publication Number Publication Date
CN111475537A true CN111475537A (zh) 2020-07-31
CN111475537B CN111475537B (zh) 2023-06-23

Family

ID=71751429

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010275946.4A Active CN111475537B (zh) 2020-04-09 2020-04-09 基于pulsar的全球数据同步系统

Country Status (1)

Country Link
CN (1) CN111475537B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905719A (zh) * 2021-03-09 2021-06-04 广州虎牙科技有限公司 数据处理方法、装置、设备和介质
CN114221997A (zh) * 2021-12-14 2022-03-22 国泰君安证券股份有限公司 基于微服务业务网关的接口监控系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095769A (zh) * 2011-11-04 2013-05-08 阿里巴巴集团控股有限公司 跨机房的数据同步方法以及系统
WO2017114178A1 (zh) * 2015-12-30 2017-07-06 阿里巴巴集团控股有限公司 一种调整数据分片分布的方法及数据服务器
CN107315641A (zh) * 2017-05-27 2017-11-03 杭州铭师堂教育科技发展有限公司 基于Qconf的消息队列高可用系统及方法
CN107659661A (zh) * 2017-10-24 2018-02-02 宁波森浦信息技术有限公司 一种金融实时总线系统及其控制方法
CN110309231A (zh) * 2019-07-12 2019-10-08 焦点科技股份有限公司 一种跨机房的数据同步方法及系统
CN110515748A (zh) * 2019-08-28 2019-11-29 腾讯科技(深圳)有限公司 一种消息处理的方法及相关装置
CN110913000A (zh) * 2019-11-27 2020-03-24 浙江华诺康科技有限公司 业务信息的处理方法、系统和计算机可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095769A (zh) * 2011-11-04 2013-05-08 阿里巴巴集团控股有限公司 跨机房的数据同步方法以及系统
WO2017114178A1 (zh) * 2015-12-30 2017-07-06 阿里巴巴集团控股有限公司 一种调整数据分片分布的方法及数据服务器
CN107315641A (zh) * 2017-05-27 2017-11-03 杭州铭师堂教育科技发展有限公司 基于Qconf的消息队列高可用系统及方法
CN107659661A (zh) * 2017-10-24 2018-02-02 宁波森浦信息技术有限公司 一种金融实时总线系统及其控制方法
CN110309231A (zh) * 2019-07-12 2019-10-08 焦点科技股份有限公司 一种跨机房的数据同步方法及系统
CN110515748A (zh) * 2019-08-28 2019-11-29 腾讯科技(深圳)有限公司 一种消息处理的方法及相关装置
CN110913000A (zh) * 2019-11-27 2020-03-24 浙江华诺康科技有限公司 业务信息的处理方法、系统和计算机可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905719A (zh) * 2021-03-09 2021-06-04 广州虎牙科技有限公司 数据处理方法、装置、设备和介质
CN114221997A (zh) * 2021-12-14 2022-03-22 国泰君安证券股份有限公司 基于微服务业务网关的接口监控系统

Also Published As

Publication number Publication date
CN111475537B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US11599560B2 (en) Predictive and adaptive queue flushing for real-time data reconciliation between local and remote databases
US8930316B2 (en) System and method for providing partition persistent state consistency in a distributed data grid
CN112069265B (zh) 配置数据的同步方法、业务数据系统、计算机系统和介质
CN109376197B (zh) 一种数据同步方法、服务器及计算机存储介质
US10177994B2 (en) Fault tolerant federation of computing clusters
US10749954B2 (en) Cross-data center hierarchical consensus scheme with geo-aware leader election
CN110737643B (zh) 一种基于餐饮信息管理系统的大数据分析处理管理中台
CN110308983A (zh) 资源负载均衡方法及系统、服务节点和客户端
CN103905537A (zh) 分布式环境下管理工业实时数据存储的系统
CN102880475A (zh) 计算机软件系统中基于云计算的实时事件处理系统及方法
CN109783151B (zh) 规则变更的方法和装置
US20090150556A1 (en) Memory to storage communication for hybrid systems
CN109408280A (zh) 数据备份方法、装置及系统
CN102088490A (zh) 数据存储方法、设备和系统
CN112804332B (zh) 消息处理系统、方法、装置、设备及计算机可读存储介质
CN111475537A (zh) 基于pulsar的全球数据同步系统
CN110196843B (zh) 一种基于容器集群的文件分发方法及容器集群
CN106354563A (zh) 用于3d重建的分布式计算系统以及3d重建方法
CN105208060A (zh) 业务数据同步方法、装置及系统
US8977595B1 (en) Message-recovery file log locating and monitoring
CN114827171A (zh) 信息同步方法、装置、计算机设备和存储介质
CN110233791B (zh) 数据去重方法和装置
CN116304390B (zh) 时序数据处理方法、装置、存储介质及电子设备
US20230283695A1 (en) Communication Protocol for Knative Eventing's Kafka components
CN111382132A (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
CB02 Change of applicant information

Address after: 22nd floor, block a, Huaxing Times Square, 478 Wensan Road, Xihu District, Hangzhou, Zhejiang 310000

Applicant after: Hangzhou Xiaoying Innovation Technology Co.,Ltd.

Address before: 16 / F, HANGGANG Metallurgical Science and technology building, 294 Tianmushan Road, Xihu District, Hangzhou City, Zhejiang Province, 310012

Applicant before: HANGZHOU QUWEI SCIENCE & TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant