![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kafka
蓦然_
大数据开发,公众号:旧时光大数据
展开
-
Spark从kafka中读取数据,Direct Approach相较于Receiver-based Approach方式的区别
1、简化的并行:在Receiver的方式中我们提到创建多个Receiver之后利用union来合并成一个Dstream的方式提高数据传输并行度。而在Direct方式中,Kafka中的partition与RDD中的partition是一一对应的并行读取Kafka数据,这种映射关系也更利于理解和优化。2、高效:在Receiver的方式中,为了达到0数据丢失需要将数据存入Write Ahea...原创 2019-07-25 11:40:04 · 378 阅读 · 0 评论 -
Kafka 是如何保证数据可靠性和一致性
目录一、数据可靠性Topic 分区副本Producer 往 Broker 发送消息Leader 选举二、数据一致性一、数据可靠性Kafka作为一个商业级消息中间件,消息可靠性的重要性可想而知。本文从 Producter 往 Broker 发送消息、Topic 分区副本以及 Leader 选举几个角度介绍数据的可靠性。Topic 分区副本在 Kafka 0.8....转载 2019-07-21 11:46:20 · 153 阅读 · 0 评论 -
Kafka 的消息投递保证(delivery guarantee)机制以及如何实现
Kafka支持三种消息投递语义: ①Atmost once消息可能会丢,但绝不会重复传递 ②At least one 消息绝不会丢,但可能会重复传递 ③Exactly once每条消息肯定会被传输一次且仅传输一次,很多时候这是用户想要的 consumer在从broker读取消息后,可以选择commit,该操作会在Zookeeper中存下该con...原创 2019-07-22 22:59:09 · 2663 阅读 · 0 评论 -
kafka数据丢失问题,如何保证数据不丢失
1、数据丢失: acks=1的时候(只保证写入leader成功),如果刚好leader挂了。数据会丢失。 acks=0的时候,使用异步模式的时候,该模式下kafka无法保证消息,有可能会丢。2、brocker如何保证不丢失: acks=all: 所有副本都写入成功并确认。 retries = 一个合理值。 min.insync.replica...原创 2019-07-22 23:00:54 · 1217 阅读 · 0 评论 -
如何保证Kafka的消息有序
Kafka对于消息的重复、丢失、错误以及顺序没有严格的要求。 Kafka只能保证一个partition中的消息被某个consumer消费时是顺序的,事实上,从Topic角度来说,当有多个partition时,消息仍然不是全局有序的。...原创 2019-07-22 23:01:47 · 1080 阅读 · 0 评论 -
Kafka相对于传统的消息传递方法的优势
高性能:单一的Kafka代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作,Kafka性能远超过传统的ActiveMQ、RabbitMQ等,而且Kafka支持Batch操作 可扩展:Kafka集群可以透明的扩展,增加新的服务器进集群 容错性: Kafka每个Partition数据会复制到几台服务器,当某个Broker失效时,Zookeeper将通知生产者和消费者从...原创 2019-07-22 23:03:14 · 697 阅读 · 0 评论 -
Kafka常见面试题
1、Kafka都有哪些特点?高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。 可扩展性:kafka集群支持热扩展 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失 容错性:允许集群中节点失败(若副本数量为n,则允许n-...转载 2019-09-24 09:45:27 · 226 阅读 · 0 评论