logo资料库

Kafka基础培训PPT.ppt

第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
资料共46页,剩余部分请下载后查看
研发中心 王亚平
培训安排 Kafka是什么 kafka体系结构 kafka设计理念简介 kafka的伪分布安装、集群安装 kafka的shell操作、java操作 kafka设计理念 kafka producer和consumer开发
Kafka产生背景 Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发, 使用 Scala语言编写,之后成为 Apache 项目的一部分。Kafka 是一个分布 式的,可划分的,多订阅者,冗余备份的持久性的日志服务。它主要用于处 理活跃的流式数据。 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系 统组成,数据需要在各个子系统中高性能,低延迟的不停流转。传统的企 业消息系统并不是非常适合大规模的数据处理。为了已在同时搞定在线应 用(消息)和离线应用(数据文件,日志)Kafka 就出现了。Kafka 可以 起到两个作用: 降低系统组网复杂度 降低编程复杂度,各个子系统不在是相互协商接口,各个子系统类似 插口插在插座上,Kafka 承担高速数据总线的作用。 kafka系列文章索引:http://my.oschina.net/ielts0909/blog/117489
Kafka的简介 设计关注重点: 为生产者和消费者提供一个通用的API 消息的持久化 高吞吐量,可以满足百万级别消息处理 对分布式和高扩展性的支持 kafka最基本的架构是生产者发布一个消息到Kafka的一个主题 (topic),这个主题即是由扮演KafkaServer角色的broker提供,消费 者订阅这个主题,然后从中获取消息. Kafka是如何解决查找效率的的问题呢?
Kafka部署架构
Kafka的基本概念 Ø Topic:特指 Kafka 处理的消息源(feeds of messages)的不同分类。 Ø Partition:Topic 物理上的分组,一个 topic 可以分为多个 partition,每个 partition 是一个有序的队列。partition 中的每条消息都会被分配一个有序的 id(offset)。 Ø Message:消息,是通信的基本单位,每个 producer 可以向一个 topic (主题)发布一些消息。 Ø Producers:消息和数据生产者,向 Kafka 的一个 topic 发布消息的过程叫 做 producers。 Ø Consumers:消息和数据消费者,订阅 topics 并处理其发布的消息的过程 叫做 consumers。 Ø Broker:缓存代理,Kafka 集群中的一台或多台服务器统称为 broker。
Kafka的Producers Producer将消息发布到指定的Topic中,同时 Producer也能决定将此消息归属于哪个partition; 比如基于"round-robin"方式或者通过其他的一些 算法等. 消息和数据生产者,向 Kafka 的一个 topic 发布 消息的过程叫做 producers。 异步发送 批量发送可以很有效的提高发送效率。Kafka producer的异步发送模式允许进行批量发送,先将消息 缓存在内存中,然后一次请求批量发送出去。
Kafka的Broker Broker:缓存代理,Kafka 集群中的一台或多台服务器统称为 broker。 为了减少磁盘写入的次数,broker会将消息暂时buffer起来,当消息的 个数(或尺寸)达到一定阀值时,再flush到磁盘,这样减少了磁盘IO调用 的次数。
分享到:
收藏