CN111224819A - 分布式消息系统 - Google Patents

分布式消息系统 Download PDF

Info

Publication number
CN111224819A
CN111224819A CN201911395257.0A CN201911395257A CN111224819A CN 111224819 A CN111224819 A CN 111224819A CN 201911395257 A CN201911395257 A CN 201911395257A CN 111224819 A CN111224819 A CN 111224819A
Authority
CN
China
Prior art keywords
cluster
maintenance management
resource
messaging system
consumer
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
Application number
CN201911395257.0A
Other languages
English (en)
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.)
Shanghai Huifu Data Service Co ltd
Original Assignee
Shanghai Huifu Data Service 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 Shanghai Huifu Data Service Co ltd filed Critical Shanghai Huifu Data Service Co ltd
Priority to CN201911395257.0A priority Critical patent/CN111224819A/zh
Publication of CN111224819A publication Critical patent/CN111224819A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种分布式消息系统,包括:集群;指标采集器,用于从所述集群采集监控指标;运维管理系统,通过所述指标采集器进行指标数据的查询和读取,并下发客户端资源元数据以使应用使用资源。本申请的目的至少在于,能够提供可视化的运维监控和安全性的运维平台从而更有效解决生产中集群可能发生的故障。

Description

分布式消息系统
技术领域
本申请涉及分布式消息系统的集群运维管理技术领域,具体来说,涉及一种分布式消息系统的集群运维管理方法和装置。
背景技术
分布式消息作为中间件成员中不可缺失的部分,在目前绝大部分的系统架构中都使用分布式消息来解决系统或应用间异步通讯的问题。分布式消息经历了多次重大的架构升级后,核心技术架构已日趋成熟。现阶段主流的开源分布式消息系统都是基于Topic(主题)和Group(组)的概念实现整个分布式消息系统。其中,Apache Kafka、Apache RocketMQ(Rocket Meta Queue,开源的消息中间件)、Apache Pulsar是开源分布式消息系统大军中的领军代表。越来越多的系统或应用使用分布式消息系统来实现系统或应用间的异步解耦、削峰限流等功能来提升自身系统或应用的高并发性能,以及保障系统或应用的安全性和稳定性。然而,即使是再成熟的系统,也离不开日常的监控巡查,也离不开出现异常问题的处理,更离不开人工的参与。在分布式消息系统中,一个或多个物理集群构成整个分布式消息的整体逻辑服务形态,在一个简单的集群中至少包含3-5台物理或虚拟服务节点。如此庞大的服务节点规模给运维带来了巨大的压力和挑战。因此,分布式消息系统非常需要一套完善的可视化的运维工具,帮助开发人员和运维人员高效地完成日常巡检,问题处理等工作。
经调研,Apache Kafka、Apache RocketMQ和Apache Pulsar作为目前几款主流的分布式消息系统,在可视化运维工具方面都存在诸多问题。例如,Apache Kafka作为大数据、流处理首选的分布式消息系统,原生只提供了命令行工具来获取Kafka集群运行时的监控数据。命令行代码效率极低,交互性较差,而且提供的监控数据极为有限,对开发人员和运维人员日常监控和问题排查带来了极大的困难。而Apache RocketMQ作为后起之秀,在金融等高安全、高要求的领域占有一席之地。RocketMQ原生除了提供类似Kafka一样的命令行工具外,也提供了原生的可视化控台。与kafka相比,以及较大的降低了开发人员和运维人员使用的难度,提升了运维工作的效率。但是,RocketMQ原生可视化控台无论从功能性,还是可视化角度都略显简陋。
现有技术存在的问题:
Apache RocketMQ提供了一套简单可视化控台RocketMQ Console。RocketMQConsole可以简单的监控集群的配置、实时的健康状态,消息流入流出的统计等功能。
RocketMQ Console在权限方面没有做任何控制,作为一款在生产环境运行的管理系统,权限本身就是保障安全的第一道关卡。RocketMQ Console本身除了提供简单的运维监控功能外,还提供了直接对集群产生直接影响的多种操作。例如:创建Topic、删除Topic、创建Group、删除Group等等。诸如此类的操作都有可能威胁到集群的稳定性和安全性。没有权限的保障,任何有权访问RocketMQ Console的人员都有可能对生产造成有意或无意的影响。
RocketMQ Console只对集群中的Broker(RocketMQ最核心模块,主要负责Topic消息存储、管理和分发)有实时健康状态的监控,没有对NameServer的健康状态进行监控。NameServer是Apache RocketMQ整体架构中重要的角色之一,NameServer主要管理整个集群的元数据内容,所有生产和消费实例都必须通过NameServer中的元数据来找到对应的Broker,才能正常的收发消息。所以,NameServer的健康状态同样重要。
RocketMQ Console虽然可以维护集群上的消息资源,如Topic、Group等。但是无法对物理资源进行管理,如:Broker、NameServer等。由于RocketMQ Console本身没有监控NameServer的状态,因此也没有提供任何对NameServer服务节点的管理方法。RocketMQConsole能够实时监控Broker的健康状况,但是当出现Broker发生异常状态时,如磁盘损害、网卡损害、服务器故障等等,RocketMQ Console可以检测到集群中的异常Broker处于不可用状态,但没有任何告警提示,也没有提供动态摘除替换功能。
发明内容
针对相关技术中的上述问题,本申请提出一种分布式消息系统,至少能够提供可视化的运维监控和安全性的运维平台从而更有效解决生产中集群可能发生的故障。
本申请的技术方案是这样实现的:
根据本申请的一个方面,提供了一种分布式消息系统,包括:
集群;
指标采集器,用于从集群采集监控指标;
运维管理系统,通过指标采集器进行指标数据的查询和读取,并下发客户端资源元数据以使应用使用资源。
根据本发明的实施例,集群包括Name Server集群和Broker集群,其中,NameServer集群管理Broker集群中所有Broker的元数据。
根据本发明的实施例,运维管理系统支持集群正向迁移和集群反向回滚迁移。
根据本发明的实施例,运维管理系统基于基本角色管理资源使用权限和资源查询权限,第一基本角色具有第一资源使用权限和第一资源查询权限,第二基本角色具有第二资源使用权限和第二资源查询权限。
根据本发明的实施例,监控指标包括发送端通用指标、消费端通用指标,其中:发送端通用指标包括:发送每秒事务处理率(TPS)、发送总量、发送者实例数和发送者连接中的至少一种;消费端通用指标包括:消息堆积量、消费速率、消费者实例数和消费者连接中的至少一种。
根据本发明的实施例,监控指标包括服务端通用指标,服务端通用指标至少包括:集群发送每秒事务处理率、集群发送总量、集群发送者实例数和集群发送者连接、集群消息堆积量、集群消费速率、集群消费者实例数和集群消费者连接中的至少一种。
根据本发明的实施例,运维管理系统调用经扩展的分布式消息系统服务端摘除接口将故障节点加入黑名单且不再接收黑名单中故障节点的上报信息;运维管理系统将不在黑名单中故障节点分配新创建资源。
本申请的有益技术效果在于:
充分利用原生命令行工具,为开发人员和运维人员提供更丰富的数据和统计汇总信息,且通过可视化的方式给开发人员和运维人员提炼关键指标数据展现,帮助他们处理日常的巡检和问题排查工作;
解决了运维平台安全性的问题,可以有效避免系统在“裸跑”状态下隐藏的安全风险;
对集群故障相关的处理提出了更好的解决方案,可以在开发人员和运维人员发现集群当中存在故障节点后,快速的摘除故障节点,并且快速的替换新的节点来恢复集群状态,从而降低故障发生后影响的时间,节约开发人员和运维人员的故障处理时间。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的分布式消息系统的架构图;
图2是根据本申请实施例的分布式消息系统的资源申请流程图;
图3是根据本申请实施例的分布式消息系统的集群迁移流程图;
图4是根据本申请实施例的分布式消息系统的客户端迁移切换流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
根据本申请的实施例,提供了一种基于分布式消息系统的集群运维管理方法和装置。图1示出了根据本申请实施例的基于分布式消息系统的集群运维管理方法和装置架构图。参考图1所示,本发明的基于分布式消息系统的集群运维管理方法包括:运维管理系统按照角色权限管理分布式消息系统的资源权限;运维管理系统监控分布式消息系统指标,指标由指标收集器收集、存储且运维管理系统提供指标查询可视化显示;以及运维管理系统实现故障摘除。
本发明的上述技术方案,通过支持基于分布式消息系统的集群运维管理方法和装置,能够提供可视化的运维监控和安全性的运维平台从而更有效解决生产中集群可能发生的故障。
本发明主要基于Apache RocketMQ实现分布式消息系统,所有的API调用以ApacheRocketMQ的实际API说明,但是本发明设计及实现的运维管理系统接口层都按照不同的分布式消息系统类型做了接口层的兼容和扩展。
集群运维管理系统是整个分布式消息系统重要的部分之一,给开发人员和运维人员提供一个可视化、自助化的运维管理平台。如图1中11处所示,主要功能包括:角色权限、资源(Topic、Group等)自助化申请/下发、流程化审批、集群指标监控、集群迁移、故障摘除、流量摘除、消息查询、消息回溯、消息轨迹。
运维管理系统控制着整个分布式消息系统的资源创建、系统监控、信息查询等各种丰富的功能。
图2示出了角色权限和运维管理系统处理资源使用的流程,流程需严格按照角色的权限进行流转:
运维平台划分三个基本角色:系统管理员21、应用管理员22和应用成员23。
应用成员23负责自助创建应用使用的资源24,并发起提交审核25。待审核完成后下发客户端资源元数据27,使应用能够真正使用资源。
应用管理员22负责管理应用成员的权限分配,以及审核应用成员提交的资源申请26。
系统管理员21负责应用管理员的权限分配,以及应用管理员审核后资源申请的集群分配27。
运维管理系统对不同角色的查询权限也有严格的限制:
应用成员23和应用管理员22只能查看授权应用下的基础数据和监控数据;
系统管理员21可以查看所有数据。
由于不同的分布式消息系统有着较大的细节参数的区别,因此,运维管理系统按照不同的服务角色,归纳总结了几种通用的分布式消息系统的监控指标。如表一所示:
表一 监控指标统计表
Figure BDA0002346120710000061
Figure BDA0002346120710000071
所有指标都由图1中的指标收集器(Collector)13统一收集、汇总、统计、并存放到对应指标存储12中,再由运维管理系统按需查询展示。
集群迁移是通过制定预先设置的备份策略来完成批量的客户端统一迁移功能,迁移必须保证消息的不丢失。
迁移具体流程设计详见图3。迁移过程由运维系统通过配置下发触发客户端的重连机制,重连时客户端会按照迁移流程中下发的配置进行动态的连接切换。迁移的核心主要有三点,第一,需要保证消费端做双监听31。第二,当完成消费端双监听之后,才能切换发送端32。第三,当发送端全部切换成功后,消费端才能断开原集群的连接33。通过以上三点能够保证在迁移过程中消息不会丢失。
客户端切换流程可参见图4,首先目标集群同步元数据41,接下来消费者订阅目标集群42,切换集群后生产端消息发送到目标集群源集群的连接断开43,之后集群其他服务器执行同样切换44。
如图3所示,完整的迁移流程中除了正向的迁移外,还支持反向回滚,如图3中34、35和36处所示。反向回滚的流程和正向迁移一致,同样保证回滚过程消息不丢失。
如图1中所示的Broker故障摘除,集群运维系统通过元数据整理的方式来实现集群中故障Broker的摘除。NameServer 14负责管理所有Broker 15的元数据,包括所有的Broker状态,Topic、Group等信息。当开发人员或运维人员在运维管理系统中操作摘除指定Broker 15时,系统将调用NameServer 14的摘除API(原生版本无此功能,二次开发功能),API会将指定Broker加入到黑名单中,NameServer 14将不再接收黑名单中Broker15的心跳包,运维管理控台同样不在将新创建资源分配到黑名单的Broker中,这样保证了故障Broker不会继续污染整个集群,彻底地被动态摘除。
本发明设计方法和装置可以应用到各类分布式消息中间件,不局限于主流的开源分布式消息系统。目前设计中集群摘除和替换均采用手工操作方式,通过额外的监控策略和异常检测算法可以实现自动化的摘除和替换,即可减少人工参与的运维工作,又可降低了故障的影响时间。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (7)

1.一种分布式消息系统,其特征在于,包括:
集群;
指标采集器,用于从所述集群采集监控指标;
运维管理系统,通过所述指标采集器进行指标数据的查询和读取,并下发客户端资源元数据以使应用使用资源。
2.按照权利要求1所述的分布式消息系统,其特征在于,所述集群包括Name Server集群和Broker集群,其中,所述Name Server集群管理所述Broker集群中所有Broker的元数据。
3.按照权利要求1所述的分布式消息系统,其特征在于,所述运维管理系统支持集群正向迁移和集群反向回滚迁移。
4.按照权利要求1所述的分布式消息系统,其特征在于,所述运维管理系统基于基本角色管理资源使用权限和资源查询权限,第一基本角色具有第一资源使用权限和第一资源查询权限,第二基本角色具有第二资源使用权限和第二资源查询权限。
5.按照权利要求1所述的分布式消息系统,其特征在于,所述监控指标包括发送端通用指标、消费端通用指标,其中:
所述发送端通用指标包括:发送每秒事务处理率(TPS)、发送总量、发送者实例数和发送者连接中的至少一种;
所述消费端通用指标包括:消息堆积量、消费速率、消费者实例数和消费者连接中的至少一种。
6.按照权利要求1所述的分布式消息系统,其特征在于,所述监控指标包括服务端通用指标,所述服务端通用指标至少包括:集群发送每秒事务处理率、集群发送总量、集群发送者实例数和集群发送者连接、集群消息堆积量、集群消费速率、集群消费者实例数和集群消费者连接中的至少一种。
7.按照权利要求1所述的分布式消息系统,其特征在于,
运维管理系统调用经扩展的分布式消息系统服务端摘除接口将故障节点加入黑名单且不再接收黑名单中故障节点的上报信息;
运维管理系统将不在黑名单中故障节点分配新创建资源。
CN201911395257.0A 2019-12-30 2019-12-30 分布式消息系统 Pending CN111224819A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911395257.0A CN111224819A (zh) 2019-12-30 2019-12-30 分布式消息系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911395257.0A CN111224819A (zh) 2019-12-30 2019-12-30 分布式消息系统

Publications (1)

Publication Number Publication Date
CN111224819A true CN111224819A (zh) 2020-06-02

Family

ID=70829119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911395257.0A Pending CN111224819A (zh) 2019-12-30 2019-12-30 分布式消息系统

Country Status (1)

Country Link
CN (1) CN111224819A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286904A (zh) * 2020-09-30 2021-01-29 北京大米科技有限公司 集群迁移方法、装置及存储介质
CN113420194A (zh) * 2021-05-07 2021-09-21 上海汇付数据服务有限公司 展示数据的方法和系统
CN114221997A (zh) * 2021-12-14 2022-03-22 国泰君安证券股份有限公司 基于微服务业务网关的接口监控系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916839A (zh) * 2012-10-26 2013-02-06 南宁职业技术学院 一种糖厂农务自动化监管系统
CN103812699A (zh) * 2014-02-17 2014-05-21 无锡华云数据技术服务有限公司 基于云计算的监控管理系统
CN106789398A (zh) * 2016-11-25 2017-05-31 中国传媒大学 一种媒体大数据hadoop集群监控的方法
CN109376010A (zh) * 2018-09-28 2019-02-22 上海思询信息科技有限公司 一种基于Openstack实现跨集群资源迁移的方法
CN109491975A (zh) * 2018-11-08 2019-03-19 江苏曲速教育科技有限公司 分布式缓存系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102916839A (zh) * 2012-10-26 2013-02-06 南宁职业技术学院 一种糖厂农务自动化监管系统
CN103812699A (zh) * 2014-02-17 2014-05-21 无锡华云数据技术服务有限公司 基于云计算的监控管理系统
CN106789398A (zh) * 2016-11-25 2017-05-31 中国传媒大学 一种媒体大数据hadoop集群监控的方法
CN109376010A (zh) * 2018-09-28 2019-02-22 上海思询信息科技有限公司 一种基于Openstack实现跨集群资源迁移的方法
CN109491975A (zh) * 2018-11-08 2019-03-19 江苏曲速教育科技有限公司 分布式缓存系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112286904A (zh) * 2020-09-30 2021-01-29 北京大米科技有限公司 集群迁移方法、装置及存储介质
CN113420194A (zh) * 2021-05-07 2021-09-21 上海汇付数据服务有限公司 展示数据的方法和系统
CN114221997A (zh) * 2021-12-14 2022-03-22 国泰君安证券股份有限公司 基于微服务业务网关的接口监控系统

Similar Documents

Publication Publication Date Title
US9703608B2 (en) Variable configurations for workload distribution across multiple sites
CN102932210B (zh) 一种PaaS云平台的节点监控方法和系统
CN111224819A (zh) 分布式消息系统
US9141491B2 (en) Highly available server system based on cloud computing
US9450700B1 (en) Efficient network fleet monitoring
US8555189B2 (en) Management system and management system control method
US20120197822A1 (en) System and method for using cluster level quorum to prevent split brain scenario in a data grid cluster
CN108076098A (zh) 一种业务处理方法及系统
US20070094343A1 (en) System and method of implementing selective session replication utilizing request-based service level agreements
CN102833281B (zh) 一种分布式自增计数的实现方法、装置及系统
US9047126B2 (en) Continuous availability between sites at unlimited distances
CN112422684B (zh) 目标消息的处理方法及装置、存储介质、电子装置
CN110727508A (zh) 一种任务调度系统和调度方法
CN112737800A (zh) 服务节点故障定位方法、调用链生成方法及服务器
CN107577578A (zh) 统计nfs操作字时延的方法、装置、设备以及存储介质
CN108390907B (zh) 一种基于Hadoop集群的管理监控系统及方法
CN109800133A (zh) 一种统一监控告警的方法、一站式监控告警平台及系统
CN112149975B (zh) 一种基于人工智能的apm监控系统及监控方法
CN113766004A (zh) 一种基于多云平台的灾备系统、方法及存储介质
CN111897643A (zh) 线程池配置系统、方法、装置和存储介质
CN111162938A (zh) 数据处理系统及方法
CN103716186B (zh) 具有网络故障容错能力的人工话务系统及其方法
CN113765717A (zh) 一种基于涉密专用计算平台的运维管理系统
CN113297516A (zh) 客户交互界面生成方法、装置和电子设备
CN112711517A (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: 20200602