CN107454171B - 消息服务系统及其实现方法 - Google Patents
消息服务系统及其实现方法 Download PDFInfo
- Publication number
- CN107454171B CN107454171B CN201710683328.1A CN201710683328A CN107454171B CN 107454171 B CN107454171 B CN 107454171B CN 201710683328 A CN201710683328 A CN 201710683328A CN 107454171 B CN107454171 B CN 107454171B
- Authority
- CN
- China
- Prior art keywords
- message
- cluster
- storage cluster
- data center
- messages
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
- Retry When Errors Occur (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种消息服务系统,包括:消息缓冲集群、消息处理集群、消息存储集群以及消息备份集群;各集群分别采用分布式部署架构并部署成多个独立的数据中心;每一数据中心分别部署有消息缓冲集群中的多个消息缓冲模块、消息处理集群中的多个消息处理模块;消息存储集群包括第一消息存储集群、第二消息存储集群,第一消息存储集群、第二消息存储集群分别部署在不同的数据中心且第一消息存储集群与消息备份集群部署在同一数据中心。本发明还公开一种消息服务系统的实现方法。本发明消息服务系统中各集群采用分布式部署架构,进而降低了系统架构的部署成本,提升了系统运行效率与可靠性。
Description
技术领域
本发明涉及计算机信息技术领域,尤其涉及一种消息服务系统及其实现方法。
背景技术
随着科学技术的进步及计算机信息业务量的快速增长,用户使用网络应用也日益增加,进而产生大量的信息数据,现有技术中通常采用消息服务系统对信息数据进行相应处理,比如缓冲、保存处理等。
传统的消息服务系统通常采用集中式部署架构,而此类部署架构在处理大规模数据时容易造成网络信息堵塞、网络超负载,进而导致系统运行缓慢,因而这已经不能满足当前及时高效的信息数据处理需求。为解决该问题就必须对消息服务系统进行改造,比如重新部署或新增设备进行扩容,而对消息服务系统的部署架构进行重新部署或新增设备通常都需要花费很高的成本费用,且改造后的系统运行效率与可靠性也难以保证。
发明内容
本发明的主要目的在于提供一种消息服务系统及其实现方法,旨在解决如何对消息服务系统架构进行部署,进而降低部署成本并提升系统运行效率与可靠性的技术问题。
为实现上述目的,本发明提供一种消息服务系统,所述消息服务系统包括:用于对消息进行缓存处理的消息缓冲集群、用于对缓存的消息进行打包处理的消息处理集群、用于对打包的消息进行存储处理的消息存储集群以及对存储的消息进行备份处理的消息备份集群;
所述消息缓冲集群、所述消息处理集群、所述消息存储集群以及所述消息备份集群分别采用分布式部署架构并部署成多个独立的数据中心;每一数据中心分别部署有所述消息缓冲集群中的多个消息缓冲模块、所述消息处理集群中的多个消息处理模块;所述消息存储集群包括第一消息存储集群、第二消息存储集群,所述第一消息存储集群、所述第二消息存储集群分别部署在不同的数据中心且所述第一消息存储集群与所述消息备份集群部署在同一数据中心。
优选地,所述消息缓冲模块,用于接收本数据中心上游业务层发送的消息并进行缓存处理;
所述消息处理模块,用于请求同一数据中心的消息缓冲模块缓存的消息进行打包下载,并将打包下载的消息发送至所述第一消息存储集群。
优选地,所述第一消息存储集群,用于接收各数据中心的消息处理模块发送的消息并进行存储处理;以及用于每间隔第一预设时长,将当前存储的消息异步上传至所述消息备份集群;
所述第二消息存储集群,用于当所述第一消息存储集群发生异常而使其所在数据中心下线时,接替所述第一消息存储集群接收其他数据中心的消息处理模块发送的消息并进行存储处理。
优选地,所述消息备份集群,用于备份所述第一消息存储集群上传的消息;以及用于当所述第一消息存储集群异常时,将第二预设时长内备份的消息恢复到所述第二消息存储集群。
优选地,所述消息存储集群采用多个副本的存储方式存储消息。
优选地,所述消息缓冲模块包括:用于接收与下发本数据中心消息的多个消息收发单元、用于向本数据中心的上游消息发送方与下游消息订阅方提供本数据中心相关信息的多个消息管理单元;
其中,当某一消息收发单元发生异常而下线时,其他消息收发单元接替进行本数据中心消息的接收与下发服务;当某一消息管理单元发生异常而下线时,其他消息管理单元正常向外提供本数据中心相关信息。
优选地,所述消息处理模块包括用于打包下载本数据中心消息的多个消息处理单元;
其中,当某一消息处理单元发生异常而下线时,其他消息处理单元正常进行本数据中心消息的打包下载;当某一数据中心发生异常而下线时,其余数据中心的消息处理模块接替进行整个所述消息缓冲集群消息的打包下载。
为实现上述目的,本发明还提供一种上述所述的消息服务系统的实现方法,所述消息服务系统的实现方法包括以下步骤:
所述消息缓冲模块接收本数据中心上游业务层发送的消息并进行缓存处理;
所述消息处理模块请求同一数据中心的消息缓冲模块缓存的消息进行打包下载,并将打包下载的消息发送至所述第一消息存储集群;
所述第一消息存储集群接收各数据中心的消息处理模块发送的消息进行存储处理,并每间隔第一预设时长,将当前存储的消息异步上传至所述消息备份集群;
所述消息备份集群备份所述第一消息存储集群上传的消息。
优选地,所述消息服务系统的实现方法还包括:
当所述第一消息存储集群发生异常而使其所在数据中心下线时,所述第二消息存储集群接替所述第一消息存储集群接收其他数据中心的消息处理模块发送的消息并进行存储处理。
优选地,所述消息服务系统的实现方法还包括:
当所述第一消息存储集群异常时,所述消息备份集群将第二预设时长内备份的消息恢复到所述第二消息存储集群。
本发明中,消息服务系统包括消息缓冲集群、消息处理集群、消息存储集群以及消息备份集群,且各集群分别采用分布式部署架构并部署成多个独立的数据中心,每一数据中心分别部署有多个消息缓冲模块、多个消息处理模块;同时,本发明将消息存储集群的子集群分别部署在不同的数据中心且消息备份集群与消息存储集群的一个子集群部署在同一数据中心,由于本发明中的消息服务系统采用分布式部署架构,进而在面对大规模数据传输处理过程中,可以有效平衡超负载,提高系统运行效率,同时各集群的分布式部署架构以及消息备份集群也保证了消息服务系统运行的高可靠性。此外,由于采用分布式部署架构,进而在后续的运行维护过程中只需针对各集群的节点即可,而无需针对整个集群或整个系统,从而降低了部署成本。
附图说明
图1为本发明消息服务系统一实施例的功能模块示意图;
图2为图1中消息缓冲集群的细化功能模块示意图;
图3为本发明消息服务系统的实现方法一实施例的流程示意图;
图4本发明消息服务系统的实现方法一实施例的消息数据流示意图;
图5本发明消息服务系统的实现方法另一实施例的消息数据流示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种消息服务系统。
参照图1,图1为本发明消息服务系统一实施例的功能模块示意图。
在本实施例中,消息服务系统包括:消息缓冲集群10、消息处理集群20、消息存储集群30以及消息备份集群40。消息缓冲集群10包括消息缓冲模块101,消息处理集群20包括消息处理模块201,消息存储集群30包括第一消息存储集群301、第二消息存储集群302。
集群是由多个相互独立的节点组成,每个节点都可视为一个独立的服务器,并以单一系统的模式加以管理。单个节点可包含有相关消息的类型、处理方法、信息数据、运行数据等,可处于三种不同状态中的一种,分别为联机、脱机、暂停。集群化操作可以减少单个节点故障数量,并且实现了群集化资源的高可用性,同时集群中可适当增加或删减节点,提供可预测的性能与扩展性,达到最大限度的资源利用率。
消息缓冲集群10为消息中间件,用于对上游传入的消息进行缓存处理。消息中间件是利用消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,可在分布环境下扩展进程间的通信,并支持多通信协议、语言、应用程序、硬件和软件平台。
消息处理集群20用于对消息缓冲集群10缓存的消息进行消费,可支持弹性扩展,通过动态增加或减少消息处理模块应对变化的数据访问负载,提供可预测的性能与扩展性,同时最大限度地提高资源利用率。
消息存储集群30用于对消息处理集群20打包的消息进行存储处理,并可提供消息查询服务。消息存储集群30优选为ElasticSearch。ElasticSearch是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,具有实时搜索、稳定、可靠、快速、安装使用方便等优点。
在实际应用中,网络硬件设备往往不可避免会发生故障,使得消息在传输过程中出现数据丢失、损坏等现象,造成业务数据交换中断,这就必须配置有消息恢复系统,本实施例中,消息服务系统设置有消息备份集群40,用以对存储的消息进行备份处理与恢复处理。
消息备份集群40优选为HDFS(Hadoop Distributed File System)分布式文件系统,是由分布于多个计算机节点上的若干个部分组成,具有执行远程文件存取的能力并以透明方式对分布在网络上的文件进行管理和存取,能够提供高吞吐量的数据访问,非常适合大规模数据集的应用,有着高容错性的特点,且可部署在低廉的硬件服务器上。分布式系统是指建立在网络之上的软件系统,其具有高度的内聚性和透明性。内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。
在本实施例中,消息服务系统中各集群分别采用分布式部署架构,实现可收发和/或订阅和/或消费消息,以及存储消息,进而在处理大规模的数据信息时,能够缩短由于单个节点或服务器发生异常下线而导致的停工时间,确保消息在传输过程中的可用性,同时通过集群负载平衡,提高了系统运行效率,增强了系统的可靠性,进而提高性能、满足当今日益增长的消息服务需求。
进一步地,在本发明消息服务系统一实施例中,整个消息服务系统包括有消息缓冲集群10、消息处理集群20、消息存储集群30以及消息备份集群40,并被部署成多个独立的数据中心。
每一数据中心分别部署有消息缓冲集群10中的多个消息缓冲模块101、消息处理集群20中的多个消息处理模块201。具体地,消息存储集群30包括第一消息存储集群301、第二消息存储集群302,第一消息存储集群301、第二消息存储集群302分别部署在不同的数据中心且第一消息存储集群301与消息备份集群40部署在同一数据中心。
为便于了解本发明,参照表1进行对比说明。
表1
由表1可明显看出消息服务系统可以部署有多个独立的数据中心。一个消息服务系统可存在多个消息缓冲模块101和多个消息处理模块201,但只有一个第一消息存储集群301、第二消息存储集群302和消息备份集群40。每一个数据中心均部署有消息缓冲模块101和消息处理模块201,但一个系统只有一个数据中心还部署有第一消息存储集群301和消息备份集群40,在另一数据中心还部署有第二消息存储集群302。
进一步地,在本实施例中,优选消息服务系统部署有三个数据中心。其中,第一个数据中心部署有消息缓冲模块101、消息处理模块201;第二个数据中心部署有消息缓冲模块101、消息处理模块201、第二消息存储集群302;第三个数据中心部署有消息缓冲模块101、消息处理模块201、第一消息存储集群301以及消息备份集群40。方便监控整个系统各个位置的活动,同时还有效地节省能源和空间、提高现有设备的利用率。
本实施例中,数据中心是全球协作的特定设备网络,用来在因特网基础设施上传递、加速、展示、计算、存储数据信息。一个数据中心可以同时与多个消息缓冲模块101和多个消息处理模块201连接,同时数据中心之间相互连接,多个消息缓冲模块101之间相互独立,多个消息处理模块201之间也相互独立。上游业务层即消息发送端发送消息,根据系统配置工具进行合理分配到各个数据中心,消息缓冲模块101检测到本数据中心有新的消息后会立即接收,并进行缓存。消息处理模块201根据消息的类型和消息的订阅情况,向消息缓冲模块101发出请求,得到消息缓冲模块101响应后,对应打包下载请求的缓存消息。消息处理模块201在打包下载完成后,将打包下载的消息发送至第一消息存储集群301。各个消息处理模块201在打包下载完成后,可无次序或按顺序逐个将打包下载的消息发送至第一消息存储集群301,也可批量一起发送,具体根据实际需要进行设置。消息缓冲模块101以及消息处理模块201可支持弹性扩展,通过动态增加或减少模块用以应对变化的数据访问负载,提供可预测的性能与扩展性,同时,最大限度地提高资源利用率。
进一步地,在本发明消息服务系统一实施例中,消息存储集群30存储的消息大小依赖于本地磁盘空间的大小,优选保存最近7天的存储消息,超过7天系统自动删除历史记录,用以释放本地磁盘空间。消息存储集群30亦可支持弹性扩展,通过动态增加或减少集群中的模块部署用以应对变化的数据访问负载,提供可预测的性能与扩展性,同时,最大限度地提高资源利用率。消息存储集群30可调用相关消息用以查询及提供信息消费服务,消息存储集群30包括第一消息存储集群301和第二消息存储集群302,两者相互独立。第一消息存储集群301在检测到各数据中心的消息处理模块201发送的打包消息后立即接收,用以写入第一消息存储集群301进行存储处理。第一消息存储集群301每间隔第一预设时长,将当前存储的消息异步上传至消息备份集群40,其备份的消息大小可随消息备份集群40容量的扩展而增大。第一预设时长,可设置为24小时、12小时或6小时等,具体根据实际需要进行设置。优选每1小时将存储的新消息上传备份,以便及时备份上传的消息,避免因意外发生容灾时,存储的消息被损毁或遗失而无法恢复。第一消息存储集群301采用异步上传,是将存储的消息按标识分为几部分上传,上传时无需按次序,所上传的消息在同一时间内可以是不同步的,但与最终消息备份集群40接收完成时的数据是一致的。
进一步地,在本发明消息服务系统另一实施例中,第一消息存储集群301发生异常而使其所在数据中心下线时,第二消息存储集群302接替第一消息存储集群301接收其他数据中心的消息处理模块201发送的消息并进行存储处理。即发生容灾时,因意外,如火灾、地震等使第一消息存储集群301停止工作时,不再接收分布在系统各数据中心的消息处理模块201发送的消息,也不再进行存储处理。系统可设置自动切换或手动切换到第二消息存储集群302,用以接替第一消息存储集群301接收打包的消息,使得该系统功能可以继续正常工作。优选设置为手动切换,避免系统在突发事件中,切换过于频繁,导致消息发生堵塞,进而使系统不稳定,同时避免造成资源的浪费。例如,因短时间断电使第一消息存储集群301出现短暂故障,系统直接切换到第二消息存储集群302,而第一消息存储集群301在短时间内恢复正常使用,系统又再次切换到第一消息存储集群301接收消息。第二消息存储集群302存储的消息可通过拷贝数据到第一消息存储集群301,也可上传到其他应用再发送到第一消息存储集群301,具体根据实际需要进行设置。
本实施例中,实际运用往往不可避免发生故障,使得消息在传输过程中出现数据丢失、损坏等现象,造成业务数据交换中断,这就需要配置有消息恢复系统。消息备份集群40,不仅用于备份第一消息存储集群上传的消息,还在第一消息存储集群301出现异常下线时,将第二预设时长内备份的消息恢复到第二消息存储集群302,确保系统能够正常使用。系统在切换到第二消息存储集群消息302时,消息备份集群40将第二预设时长内备份的消息恢复到所述第二消息存储集群302。第二预设时长可设置为60天、30天、或1天,也可以设置为12小时等,具体可根据实际需要进行设置。优选第二预设时长为最近7天,即将最近7天的备份消息从消息备份集群40中恢复到第二消息存储集群302,以供第二消息存储集群302调用查询及提供信息消费服务。
本实施例中,消息存储集群40采用多个副本的存储方式存储消息。随着互联网中的用户对资源的需求量日益增多,如果仅有一份数据,则需要该数据的用户都须到同一个节点上读取,网络容易出现拥堵,而处理能力有限的节点也会因为访问数量太大而宕机。如果创建多份数据副本用以分担处理访问请求的任务,则有效降低节点失效率,减少用户响应时间,但创建太多副本数量会造成无谓的存储空间浪费。创建数量可根据实际需要进行设置,优选默认使用3个副本的存储方式,用以提高消息存储和读写的可靠性。消息备份集群40根据实际需要可对备份的消息进行设置,例如设置永久保存备份消息或根据预设时间有条件的进行保存,具体可根据实际需要进行设置。优选设置备份消息保存最近30天,超过30天的,系统自动删除历史记录,释放内存,进而提高系统读取速率,使系统运行更为流畅。
参照图2,图2为图1中消息缓冲集群10的细化功能模块示意图。
本实施例中,每一数据中心分别部署有消息缓冲集群10中的多个消息缓冲模块101,消息缓冲模块包括多个消息收发单元1011和多个消息管理单元1012。为避免过多浪费跨数据中心流量,每个消息收发单元1011配置有所属数据中心属性的Topic,仅用于接收与下发来自本数据中心上游业务层发送的消息,供后续服务消费。当某一消息收发单元1011发生异常而下线时,其他所述同一数据中心的消息收发单元1011可接替提供消息收发服务。
消息管理单元1012是用于向本数据中心的上游消息发送方与下游消息订阅方提供本数据中心相关信息,即向消息发送方、消息订阅方提供Topic路由信息,同时还用于管理消息收发单元1011。当某一消息管理单元1012发生异常而下线时,其他消息管理单元1012正常向消息发送方与消息订阅方提供Topic路由信息。
进一步地,通过以下方式避免单个消息收发单元1011和消息管理单元1012发生异常:消息收发单元1011可分为master和slave两部分,当master异常下线时,由slave接替master提供消息收发服务;消息管理单元1012可部署有3个节点,单个节点异常下线时,其余两个节点能正常向消息发送方与订阅方提供Topic路由信息。
在本实施例中,每一数据中心分别部署有多个消息处理模块201,消息处理模块201包括多个消息处理单元。消息处理单元用以及时消费消息缓冲模块101缓存的消息的单元。当某一消息处理单元发生异常而下线时,不影响其他所属同一个数据中心的消息处理单元正常消费消息。当某一数据中心发生异常而下线时,其余数据中心的消息处理模块201接替进行整个所述消息缓冲集群10消息的消费。即任何一个数据中心中整个消息处理模块201异常而不接收缓存消息时,不影响其他数据中心的消息处理模块201正常运行。
本发明消息服务系统采用分布式部署架构,将消息缓冲集群10、消息处理集群20、消息存储集群30以及消息备份集群40部署成多个独立的数据中心。在面对大规模数据传输处理过程中,可以有效平衡超负载,提高系统读写运行速率,从而实现一种更高效、更可靠的消息服务系统。同时本发明可部署在低廉的硬件服务器上,有利于降低开发和使用成本,避免资源浪费。
进一步地,基于本发明上述实施例中的消息服务系统,本实施例提出一种消息服务系统的实现方法。
参照图3,图3为本发明消息服务系统的实现方法一实施例的流程示意图。本实施例中,消息服务系统的实现方法包括:
步骤S10,消息缓冲模块101接收本数据中心上游业务层发送的消息并进行缓存处理;
本实施例中,上游业务层即消息发送端发送消息,根据系统配置工具进行合理分配到各个数据中心,消息缓冲模块101检测到本数据中心有新的消息后会立即接收,并进行缓存。
步骤S20,消息处理模块201请求同一数据中心的消息缓冲模块101缓存的消息进行消费,并将消息发送至所述第一消息存储集群301;
本实施例中,消息处理模块201根据消息的类型和消息的订阅情况,向消息缓冲模块101发出请求,得到消息缓冲模块101响应后,获取缓存消息。消息处理模块201可无次序或按顺序逐个将消息发送至第一消息存储集群301,也可批量一起发送,具体根据实际需要进行设置。
步骤S30,第一消息存储集群301接收各数据中心的消息处理模块201发送的消息进行存储处理,并每间隔第一预设时长,将当前存储的消息异步上传至所述消息备份集群40;
本实施例中,消息存储集群40存储的消息大小依赖于本地磁盘空间的大小,优选保存最近7天的存储消息,超过7天系统自动删除历史记录,用以释放本地磁盘空间。第一消息存储集群301在检测到各数据中心的消息处理模块201发送的打包消息后立即接收,用以写入第一消息存储集群301进行存储处理。第一预设时长,可设置为24小时、12小时或6小时等,具体根据实际需要进行设置。备份的消息大小可随消息备份集群40容量的扩展而增大,优选每1小时将存储的新消息上传备份,以便及时备份上传的消息,避免因意外发生容灾时,存储的消息被损毁或遗失而无法恢复。第一消息存储集群301采用异步上传,是将存储的消息按标识分为几部分上传,上传时无需按次序,所上传的消息在同一时间内可以是不同步的,但与最终消息备份集群40接收完成时的数据是一致的。
步骤S40,消息备份集群40备份所述第一消息存储集群301上传的消息。
本实施例中,消息备份集群40检测到第一消息存储集群301发送的存储消息后立即接收,并成功接收完毕后进行备份处理。消息备份集群40采用多个副本的存储方式存储备份消息。如果仅有一份数据,则需要该数据的用户都须到同一个节点上读取,网络容易出现拥堵,而处理能力有限的节点也会因为访问数量太大而宕机。如果创建多份数据副本用以分担处理访问请求的任务,则有效降低节点失效率,减少用户响应时间,但创建太多副本数量会造成无谓的存储空间浪费。创建数量可根据实际需要进行设置,优选默认使用3个副本的存储方式,用以提高消息存储和读写的可靠性。消息备份集群40根据实际需要可对备份的消息进行设置,例如设置永久保存备份消息或根据预设时间有条件的进行保存,具体可根据实际需要进行设置。优选设置备份消息保存最近30天,超过30天的,系统自动删除历史记录,释放内存,进而提高系统读取速率,使系统运行更为流畅。
进一步可选的,消息服务系统的实现方法还包括:当第一消息存储集群301发生异常而使其所在数据中心下线时,第二消息存储集群302接替第一消息存储集群301接收其他数据中心的消息处理模块发送的消息并进行存储处理。即发生容灾时,因意外,如火灾、地震等使第一消息存储集群301停止工作时,不再接收分布在系统各数据中心的消息处理模块201发送的消息,也不再进行存储处理。系统可设置自动切换或手动切换到第二消息存储集群302,用以接替第一消息存储集群301接收打包的消息,使得该系统功能可以继续正常工作。优选设置为手动切换,避免系统在突发事件中,切换过于频繁,导致消息发生堵塞,进而使系统不稳定,同时避免造成资源的浪费。例如,因短时间断电使第一消息存储集群301出现短暂故障,系统直接切换到第二消息存储集群302,而第一消息存储集群301在短时间内恢复正常使用,系统又再次切换到第一消息存储集群301接收消息。第二消息存储集群302存储的消息可通过拷贝数据到第一消息存储集群301,也可上传到其他应用再发送到第一消息存储集群301,具体根据实际需要进行设置。
进一步可选的,消息服务系统的实现方法还包括:当第一消息存储集群301异常时,消息备份集群40将第二预设时长内备份的消息恢复到所述第二消息存储集群302。具体地,实际运用往往不可避免因意外发生故障,使得消息在传输过程中出现数据丢失、损坏等现象,造成业务数据交换中断,这就需要配置有消息恢复系统。消息备份集群40,不仅用于备份第一消息存储集群301上传的消息,还可将备份的消息恢复到第二消息存储集群302,即避免了第一消息存储集群301出现异常使消息传输过程中断,导致整个消息服务系统无法正常工作。优选第二预设时长为最近7天,即将最近7天的备份消息从消息备份集群40中恢复到第二消息存储集群302,以供第二消息存储集群302调用查询及提供消费服务。
参照图4,图4本发明消息服务系统的实现方法一实施例的消息数据流示意图。
本实施例中,一个消息服务系统部署有三个数据中心。其中,第一个数据中心部署有消息缓冲模块101、消息处理模块201;第二个数据中心部署有消息缓冲模块101、消息处理模块201、第二消息存储集群302;第三个数据中心部署有消息缓冲模块101、消息处理模块202、第一消息存储集群301以及消息备份集群40。由图5可知,在数据中心1和数据中心3,上游业务层发出的消息,依次经过本地消息缓冲模块101和本地消息处理模块201处理后,发送至数据中心3的第一消息存储集群301。在数据中心2,上游业务层发出的消息,同样依次经过数据中心2的消息缓冲模块101和消息处理模块201处理后,发送至数据中心3的第一消息存储集群301。最后,将第一消息存储集群301接收的消息发送到数据中心3的消息备份集群40。数据中心2的第二消息存储集群302在数据中心3的第一消息存储集群301正常使用情况下,不与其他模块连接。
参照图5,图5本发明消息服务系统的实现方法另一实施例的消息数据流示意图。
本实施例中,当数据中心中的第一消息存储集群301出现异常下线时,无法接收本数据中心及其他数据中心消息处理模块201发送的消息。系统可手动切换到第二消息存储集群302,启用第二消息存储集群302接替第一消息存储集群301与其他消息处理模块201建立连接,接收来自数据中心消息处理模块201发送的消息。同时消息备份集群40在第二消息存储集群302上线使用时,将备份的消息恢复到第二消息存储集群302,以供第二消息存储集群302调用查询。由图5可知,数据中心3的第一消息存储集群301出现异常下线,而无法接收消息,亦无法将存储的消息上传至消息备份集群40,系统切换使用数据中心2的第二消息存储集群302。数据中心3的第一消息存储集群301出现异常下线,系统不会将上游业务层发出的消息分配到数据中心3,而是分配到数据中心1和数据中心2。在数据中心1和数据中心2,上游业务层发出的消息,依次经过本地消息缓冲模块101和本地消息处理模块201处理后,发送至数据中心2的第二消息存储集群302。数据中心3的消息备份集群40将备份消息发送至数据中心2的第二消息存储集群302。
本实施例中,消息服务系统采用分布式部署架构,进而在面对大规模数据传输处理过程中,可以有效平衡超负载,提高系统运行效率,同时各集群的分布式部署架构以及消息备份集群40也保证了消息服务系统运行的高可靠性。此外,由于采用分布式部署架构,进而在后续的运行维护过程中只需针对各集群的节点即可,而无需针对整个集群或整个系统,从而降低了部署成本。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种消息服务系统,其特征在于,所述消息服务系统包括至少三个独立部署的数据中心,每一个数据中心部署有:
消息缓冲集群,包括多个消息缓冲模块,用于对消息进行缓存处理;
消息处理集群,包括多个消息处理模块,用于对缓存的消息进行打包处理;
所述消息服务系统还部署有:
消息存储集群和消息备份集群,所述消息存储集群包括:
第一消息存储集群,部署在任意一个数据中心,用于接收各数据中心的消息处理模块发送的消息并进行存储处理;以及用于每间隔第一预设时长,将当前存储的消息异步上传至消息备份集群;
第二消息存储集群,部署在任意一个数据中心,且与第一消息存储集群不在同一数据中心,用于当第一消息存储集群发生异常而使其所在数据中心下线时,接替第一消息存储集群接收其他数据中心的消息处理模块发送的消息并进行存储处理,并将存储的消息上传至消息备份集群,第二消息存储集群与第一消息存储集群不同时工作;
所述消息备份集群与第一消息存储集群部署在同一数据中心,用于对所述消息存储集群存储的消息进行备份处理;以及用于当第一消息存储集群异常时,将第二预设时长内备份的消息恢复到第二消息存储集群。
2.如权利要求1所述的消息服务系统,其特征在于,
所述消息缓冲模块,用于接收本数据中心上游业务层发送的消息并进行缓存处理;
所述消息处理模块,用于请求同一数据中心的消息缓冲模块缓存的消息进行打包下载,并将打包下载的消息发送至所述第一消息存储集群。
3.如权利要求1所述的消息服务系统,其特征在于,所述消息存储集群采用多个副本的存储方式存储消息。
4.如权利要求1或2所述的消息服务系统,其特征在于,所述消息缓冲模块包括:用于接收与下发本数据中心消息的多个消息收发单元、用于向本数据中心的上游消息发送方与下游消息订阅方提供本数据中心相关信息的多个消息管理单元;
其中,当某一消息收发单元发生异常而下线时,其他消息收发单元接替进行本数据中心消息的接收与下发服务;当某一消息管理单元发生异常而下线时,其他消息管理单元正常向外提供本数据中心相关信息。
5.如权利要求1或2所述的消息服务系统,其特征在于,所述消息处理模块包括用于打包下载本数据中心消息的多个消息处理单元;
其中,当某一消息处理单元发生异常而下线时,其他消息处理单元正常进行本数据中心消息的打包下载;当某一数据中心发生异常而下线时,其余数据中心的消息处理模块接替进行整个所述消息缓冲集群消息的打包下载。
6.一种如权利要求1所述的消息服务系统的实现方法,其特征在于,所述消息服务系统的实现方法包括以下步骤:
所述消息缓冲模块接收本数据中心上游业务层发送的消息并进行缓存处理;
所述消息处理模块请求同一数据中心的消息缓冲模块缓存的消息进行打包下载,并将打包下载的消息发送至所述第一消息存储集群;
所述第一消息存储集群接收各数据中心的消息处理模块发送的消息进行存储处理,并每间隔第一预设时长,将当前存储的消息异步上传至所述消息备份集群;
所述消息备份集群备份所述第一消息存储集群上传的消息;
所述消息服务系统的实现方法还包括:
当所述第一消息存储集群发生异常而使其所在数据中心下线时,所述第二消息存储集群接替所述第一消息存储集群接收其他数据中心的消息处理模块发送的消息并进行存储处理;
所述消息服务系统的实现方法还包括:
当所述第一消息存储集群异常时,所述消息备份集群将第二预设时长内备份的消息恢复到所述第二消息存储集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710683328.1A CN107454171B (zh) | 2017-08-10 | 2017-08-10 | 消息服务系统及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710683328.1A CN107454171B (zh) | 2017-08-10 | 2017-08-10 | 消息服务系统及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107454171A CN107454171A (zh) | 2017-12-08 |
CN107454171B true CN107454171B (zh) | 2021-04-30 |
Family
ID=60491649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710683328.1A Active CN107454171B (zh) | 2017-08-10 | 2017-08-10 | 消息服务系统及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107454171B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542659A (zh) * | 2018-11-14 | 2019-03-29 | 深圳前海微众银行股份有限公司 | 应用多活方法、设备、数据中心集群及可读存储介质 |
CN110225138B (zh) * | 2019-06-25 | 2021-12-14 | 深圳前海微众银行股份有限公司 | 一种分布式架构 |
CN110392120B (zh) * | 2019-08-15 | 2022-06-21 | 锐捷网络股份有限公司 | 一种消息推送过程中故障的恢复方法及装置 |
CN112804332B (zh) * | 2021-01-14 | 2023-02-28 | 广州虎牙科技有限公司 | 消息处理系统、方法、装置、设备及计算机可读存储介质 |
CN115118738B (zh) * | 2022-08-30 | 2022-11-22 | 深圳华锐分布式技术股份有限公司 | 基于rdma的灾备方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487486A (zh) * | 2016-10-18 | 2017-03-08 | 泰康保险集团股份有限公司 | 业务处理方法和数据中心系统 |
CN106953901A (zh) * | 2017-03-10 | 2017-07-14 | 重庆邮电大学 | 一种提高消息传递性能的集群通信系统及其方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674257B (zh) * | 2008-09-10 | 2014-03-05 | 阿里巴巴集团控股有限公司 | 一种消息存储方法、装置及一种消息处理系统 |
CN103024014B (zh) * | 2012-12-03 | 2015-08-19 | 北京京东世纪贸易有限公司 | 通过消息队列的海量数据分发处理的方法和系统 |
US8937562B1 (en) * | 2013-07-29 | 2015-01-20 | Sap Se | Shared data de-duplication method and system |
US9021297B1 (en) * | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
WO2016025321A1 (en) * | 2014-08-13 | 2016-02-18 | OneCloud Labs, Inc. | Replication of virtualized infrastructure within distributed computing environments |
CN104158693B (zh) * | 2014-08-27 | 2018-04-13 | 乐视网信息技术(北京)股份有限公司 | 数据服务的容灾备份方法和系统 |
WO2016164310A1 (en) * | 2015-04-05 | 2016-10-13 | Digital Asset Holdings | Digital asset intermediary electronic settlement platform |
-
2017
- 2017-08-10 CN CN201710683328.1A patent/CN107454171B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487486A (zh) * | 2016-10-18 | 2017-03-08 | 泰康保险集团股份有限公司 | 业务处理方法和数据中心系统 |
CN106953901A (zh) * | 2017-03-10 | 2017-07-14 | 重庆邮电大学 | 一种提高消息传递性能的集群通信系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107454171A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107454171B (zh) | 消息服务系统及其实现方法 | |
CN102521044B (zh) | 一种基于消息中间件的分布式任务调度方法及系统 | |
JP5714571B2 (ja) | キャッシュクラスタを構成可能モードで用いるキャッシュデータ処理 | |
US20070061379A1 (en) | Method and apparatus for sequencing transactions globally in a distributed database cluster | |
CN113641511B (zh) | 一种消息通信方法和装置 | |
JP2001306349A (ja) | バックアップ装置及びバックアップ方法 | |
CN112463366B (zh) | 面向云原生的微服务自动扩缩容和自动熔断方法及系统 | |
US10127077B2 (en) | Event distribution pattern for use with a distributed data grid | |
CN103888277A (zh) | 一种网关容灾备份方法、装置和系统 | |
CN102308273A (zh) | 存储系统 | |
CN103036719A (zh) | 一种基于主备集群服务器的跨地区服务容灾方法及装置 | |
CN115576655B (zh) | 容器数据保护系统、方法、装置、设备及可读存储介质 | |
CN105095008A (zh) | 一种适用于集群系统的分布式任务故障冗余方法 | |
CN112217847A (zh) | 微服务平台及其实现方法、电子设备及存储介质 | |
CN109639773A (zh) | 一种动态构建的分布式数据集群控制系统及其方法 | |
CN101741905A (zh) | 集群的快速部署方法 | |
CN112882842A (zh) | 一种基于redis存储作为消息中间件的数据传输方法 | |
CN113515408A (zh) | 一种数据容灾方法、装置、设备及介质 | |
JP4634058B2 (ja) | 実時間遠隔バックアップシステム及びそのバックアップ方法 | |
CN202870563U (zh) | 分布式综合监控系统 | |
CN114124650A (zh) | 一种sptn网络控制器主从部署方法 | |
CN104618466A (zh) | 基于消息传递的负载均衡和过负荷控制系统及其控制方法 | |
CN110661652B (zh) | 一种互联网设备连接及数据转发处理方法 | |
CN101482829A (zh) | 集群系统、处理装置及集群系统冗余方法 | |
CN102185717A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |