Kafka作用:
1. 分布式流计算平台
2. 类似于消息系统发布订阅数据流
3. 以分布式、副本集群方式存储数据
4. 实时处理数据流
5. 构建实时数据流管道,水平可伸缩、容错、速度快
特点:
1. 巨量数据,TB级
2. 高吞吐量 支持每秒百万消息
3. 分布式 支持在多个server之间进行消息分区
4. 多语言客户端支持
技术特点:
1. 消息缓存与FileSystem的存储,数据被即刻写入OS内核页,并缓存以及清理磁盘(可配置)
2. 消息被消费后,Kafka长时间驻留消息,如有必要可以重复消费。
3. 对分组消息使用消息Set,防止网络过载。
4. 使用消费者维护消费状态
5. 消费者状态(进程死活)默认存在Zookeeper中,也可存在于其它OLTP中
6. Kafka中的生产和消费是Pull-Push模式。
7. Kafka没有主从模式,所有broker地位相同。broker元数据均在zk中维护,并在producer和consumer之间共享。
8. Kafka的LB(load balance)策略可使producer动态发现broker。
9. Producer维护了broker的连接池,并能够通过zk的watcher call机制实时进行更新
10. Producer可以选择同步或异步方式向broker发送消息。
Kafka 副本机制:
1. 每个分区存放n个副本,可承受n-1个节点失效。
2. 这n个副本中有一个是leader,它同时维护者所有副本的同步状态。
3. 如果leader失效,会通知producer,然后producer将消息重新发送给新的leader。
4. 选择新leader的方法是:所有follower在zookeeper中注册自己,最先注册的是leader,其它是follower。
5. Kafka支持的副本机制有:
同步机制: producer从zookeeper中找到leader,向leader发送消息,消息写入leader本地log。follower从leader中pull消息,每个follower将消息写入本地log,向leader发送确认回执。leader收到follower的确认回执后再想producer发送确认回执。 在consumer端,所有的消息是从leader中pull的。
异步机制:与同步机制不同的是一旦leader向log写入message完成就会向producer发送确认回执。所以这种机制不保证向失效的follower写入成功。
严重推荐:
http://www.jasongj.com/tags/Kafka/ kafka系列文章
相关推荐
kafka简介架构说明 生产者消费者broker kafka使用命令 ppt
**Kafka简介** Apache Kafka是一款高吞吐量的分布式发布订阅消息系统,最初由LinkedIn开发,后成为Apache软件基金会的顶级项目。Kafka的设计目标是处理实时数据流,它能够处理大量的实时数据,并且提供了消息持久化...
Kafka简介及使用PHP处理Kafka消息 Kafka 是一种高吞吐的分布式消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区、多副本、冗余,因此被广泛用于大规模消息...
一.kafka简介 1.介绍 kafka是一个分步数据流平台,可以分布在单个服务器上,也可以分布在多个服务器上部署形成集群,提供了发布和订阅功能,使用者可以发送数据到kafka中,也可以从kafka中读出数据,kafka具有高吞吐...
### Kafka简介 Kafka是一种高性能、可扩展的分布式消息系统,它主要被设计用于处理大量实时数据流。本文将从Kafka的基本概念出发,深入探讨其技术架构、工作原理及应用场景。 #### 一、Kafka概述 Kafka是一个轻量...
kafka kafka简介.txtkafka简介.txtkafka简介.txtkafka简介.txtkafka简介.txtkafka简介.txt
【Kafka 简介】 Kafka 是一个高性能的分布式消息系统,最初由 LinkedIn 开发,现已成为 Apache 软件基金会的顶级项目。Kafka 以其可扩展性和高吞吐量著称,广泛应用于大数据处理、日志聚合、实时流处理等领域。...
【大数据采集技术与Kafka简介】 Kafka是一个高效、可扩展的开源分布式事件流平台,主要应用于构建实时数据管道和流处理应用。它最初由LinkedIn开发,后来成为Apache基金会的顶级项目,被全球众多企业广泛采用,以...
Kafka简介,入门篇
Kafka的PPT讲义,入门级 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作 流数据。 这种动作(网页浏览...
【Kafka】是一种分布式发布-订阅消息系统,由Apache开发,设计目的是为了处理大规模的数据流。Kafka将消息持久化到磁盘,并在集群中进行复制,以确保高可用性和容错性。它与ZooKeeper协同工作,提供了一个可靠且高...
**Kafka简介** Apache Kafka是一款高吞吐量、分布式、基于发布/订阅的消息系统,由LinkedIn开发并贡献给了Apache软件基金会。Kafka的设计目标是成为一个实时数据管道,能够可靠地在生产者和消费者之间传输大量数据...
读书笔记:spark相关的应用和知识,包括scala编程,spark运行.scala文件和kafka简介.
一.kafka简介 1.介绍 kafka是一个分步数据流平台,可以分布在单个服务器上,也可以分布在多个服务器上部署形成集群,提供了发布和订阅功能,使用者可以发送数据到kafka中,也可以从kafka中读出数据,kafka具有高吞吐...
消息队列kafka的基本用法与介绍
#### Kafka简介 Apache Kafka是一种开源的消息队列服务,它最初由LinkedIn开发,并于2011年成为Apache软件基金会的一个顶级项目。Kafka因其高性能、可扩展性和可靠性而受到广泛欢迎,被许多大型组织用于构建实时...
第1课 Kafka简介 第2课 Kafka架构 第3课 Kafka HA 第4课 Zookeeper与Kafka 第5课 Kafka领导选举 第6课 Consumer 第7课 Consumer offset管理 第8课 Consumer的stream接口 第9课 Kafka高性能之道 第10课 Kafka监控工具...
**一、Kafka 简介** Apache Kafka 是一个开源流处理平台,由 LinkedIn 开发并贡献给 Apache 软件基金会。Kafka 具有高吞吐量、低延迟、持久化、分区和复制等特性,广泛应用于实时数据管道和流式应用程序。Kafkatool...
**Apache Kafka简介** Apache Kafka是一个分布式流处理平台,它被设计为一个高吞吐量、低延迟的消息中间件。Kafka支持发布/订阅模型,允许数据生产者发布消息到主题,而消费者则可以订阅这些主题并消费消息。 **...