全球旧事资料 分类
龙源期刊网httpwwwqika
comc

基于kafka消息平台的软件系统设计
作者:裴宏祥于晓虹来源:《电子技术与软件工程》2018年第18期
摘要:kafka是一个高吞吐量、高性能的分布式消息系统,高吞吐量能够支撑海量数据处理需求,高性能能够高效实时的传播数据。本文浅析kafka的特征和应用,并提出了基于此的软件系统设计应用,希望可以为相关研究提供参考。【关键词】kafka消息队列开发应用为迎合应用系统的高吞吐量、高实时性的要求,笔者所在项目,采用kafka作为消息平台,完成海量话单数据的传输和并发实时处理。1Kafka的特点(1)处理速度快,高吞吐量,呈分布式,多分区。(2)不需要停机,就可以实现主机的扩展。(3)能够把数据长久的放到硬盘和replicatio
中,防止丢失数据。(4)可以支持多消费者(重要特点)。(5)支持o
li
e(实时消费)和offli
e(离线消费,比如按天消费)的等消费模式。(6)Kafka的消费都是利用pull的方式,就是依靠客户端comsumer主动拉取数据,在客户端维护offset偏移量。客户端实现了消费的随意性,更加灵活,并且对服务端的压力小。和以前的消息中间件比起来,Kafka的创新之处最为主要的就是其代理服务器呈现无状态性,对于消息(Message),代理不会记录是不是为用户所读取,更不会清除消息。而且,在Kafka中,数据压缩的形式大大节约了空问,提高了运作的效率。2基于kafka消息平台的系统设计研究基于kafka进行系统设计开发时,要充分结合系统目标及kafka的特点。本文主要针对笔者所在项目的设计过程中,遇到的关键点进行简要分析,涉及消息准确性保证、消息可追溯性、消息批量处理等。21合适的偏移量管理模式设计根据软件系统不同业务对数据处理的要求,选择合适的偏移量管理模式,是应用自己管理offset,还是使用kafka提供的机制。对消息处理可以重复或遗漏时,可以使用kafka提供的
f龙源期刊网httpwwwqika
comc
Highlevel接口集,来维护offset,而对消息数据的处理需要符合不重复不遗漏的要求时,要采取可靠的偏移量管理机制,可以通过Kafka底层的lowlevel接口集,来获取kafka数据,并且通过应用自行保存和管理offset,保障数据消费的准确性、可靠性。笔者参与设计开发的系统,对于计费数据要求唯一、准确,因此单独设计构造了offset管理功能,确保消息的可靠消费,而对于短信下发数据,则采用了使用kafka提供的offset管理服务。22消息的时序性保障设计在Kafka中,消息以Topic进行分组,在Topic下又可以分成多个partitio
g,由r
好听全球资料 返回顶部