美文网首页
Kafka如何解决消息丢失问题,消费重复问题

Kafka如何解决消息丢失问题,消费重复问题

作者: 骏洋大大 | 来源:发表于2018-11-02 16:27 被阅读0次

Kafka简介:

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

Kafka数据丢失原因

可能是设置offset为自动定时提交,当offset被自动定时提交时,数据还在内存中未处理,此时刚好把线程kill掉,那么offset已经提交,但是数据未处理,导致这部分内存中的数据丢失

Kafka数据丢失问题解决方案:                                      

首先对kafka进行限速, 其次启用重试机制,重试间隔时间设置长一些,最后Kafka设置acks=all,即需要相应的所有处于ISR的分区都确认收到该消息后,才算发送成功。

Kafka数据重复原因:

原因1:强行kill线程,导致消费后的数据,offset没有提交。

原因2:设置offset为自动提交

Kafka数据重复问题解决方案:

把kafka消费者的配置enable.auto.commit设为false,禁止kafka自动提交offset,从而使用spring-kafka提供的offset提交策略。spring-kafka中的offset提交策略可以保证一批消息数据没有完成消费的情况下,也能提交offset,从而避免了提交失败而导致永远重复消费的问题。

Kafka0.9版本新特性:

Kafka 0.9+增加了一个新的特性 Kafka Connect,可以更方便的创建和管理数据流管道。它为Kafka和其它系统创建规模可扩展的、可信赖的流数据提供了一个简单的模型。

通过 connectors可以将大数据从其它系统导入到Kafka中,也可以从Kafka中导出到其它系统。

Kafka Connect可以将完整的数据库注入到Kafka的Topic中,或者将服务器的系统监控指标注入到Kafka,然后像正常的Kafka流处理机制一样进行数据流处理。

而导出工作则是将数据从Kafka Topic中导出到其它数据存储系统、查询系统或者离线分析系统等,比如数据库、 Elastic Search、 Apache Ignite等。

KafkaConnect有两个核心概念:Source和Sink。 Source负责导入数据到Kafka,Sink负责从Kafka导出数据,它们都被称为Connector。

kafkaConnect通过Jest实现Kafka对接Elasticsearch

相关文章

  • Kafka如何解决消息丢失问题,消费重复问题

    Kafka简介: Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。...

  • 消息队列常见问题

    如何保证消息队列的高可用? 如何保证消息不被重复消费(幂等性问题)? 如何保证消息的可靠性传输(消息丢失问题)? ...

  • kafka事务

    2018-12-03 Kafka消息保证生产的信息不丢失和重复消费问题 1)使用同步模式的时候,有3种状态保证消息...

  • Kafka中消息丢失和重复消费,以及Leader选举机制

    一、Kafka中的消息是否会丢失和重复消费 要确定Kafka的消息是否丢失或重复,从两个方面分析入手:消息发送和消...

  • 如何保证消息不被重复消费

    首先, RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是...

  • Kafka消费者总结

    提交偏移量的方式,如何保证消息不丢失,不重复消费自动提交偏移量,会导致消息重复消费和消息丢失。重复消费是因为,当一...

  • MQ随记(2)

    如何保证消息不会被重复消费(保证消息消费时的幂等性) kafka 按照数据进入kafka的顺序,kafka会给每条...

  • 3. MQ消息-重复消费&消费的幂等性

    一 背景 首先,比如 RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为...

  • logstash 重复消费kafka问题

    前两天业务方突然找到我说当天索引ES查询很慢,原来毫秒级的查询现在竟然要20s,让我处理下。我看了下索引大小,原来...

  • 2、Kafka重复消费问题

    Kafka实际上有个offset的概念,就是每个消息写进去,都有一个offset,代表他的序号,然后consu...

网友评论

      本文标题:Kafka如何解决消息丢失问题,消费重复问题

      本文链接:https://www.haomeiwen.com/subject/vdecxqtx.html