文档章节

kafka学习

蜡笔小鑫
 蜡笔小鑫
发布于 2017/08/21 13:56
字数 562
阅读 3
收藏 0

kafka用于构建实时数据管道和流程序。它具有横向伸缩性、容错性、快速性,并在数千家公司中运行。

如图所示:

             

1.介绍

kafka是一个分布式流平台,确切的意思是什么?

我们认为一个流平台要有三个关键能力:

1.它允许发布和订阅记录流。在这方面,它类似于消息队列或企业消息系统。

2.它允许你以容错的方式存储记录流.

3.它允许你处理记录发生时的流。

kafka的优势是什么?

它广泛用于两大类应用程序:

1.构建实时流数据管道,在系统或应用程序之间可靠地获取数据。

2.构建对数据流进行转换或响应的实时流应用程序.

为了理解卡夫卡是如何做到这些的,让我们深入探究卡夫卡的自下而上的能力。

  • kafak是运行在一台或多台服务器上的集群。
  • 在类别称为主题的记录kafka集群存储流。
  • 没条记录包含一个关键字、值、和时间戳。

kafka 有4个核心的api:

  • 生产者api:允许应用发布记录流到一个或多个主题。
  • 消费者api:允许应用程序订阅一个或多个主题和处理生产记录流。
  • 流API:允许应用程序充当流处理器,消耗来自一个或多个主题的输入流,并向一个或多个输出主题生成输出流,有效地将输入流转换为输出流。
  • 连接器API:允许构建和运行可重用的生产者或消费者,它们将卡夫卡主题连接到现有应用程序或数据系统。例如,一个连接到一个关系数据库可能会捕捉每一个变化表。

关系如图:

           

 

在kafka中,客户机和服务器之间的通信是通过一个简单的、高性能的、与语言无关的tcp协议完成的。该协议是版本控制的并保持与旧版本的向后兼容性。我们提供kafka java客户端,但客户端支持多种语言。

 

© 著作权归作者所有

共有 人打赏支持
蜡笔小鑫
粉丝 1
博文 8
码字总数 2352
作品 0
石景山
项目经理
大数据storm应该怎么学?

帮助大家在业务上面快速使用Storm,相信学完之后可以直接面对生成环境的问题,解决问题,优化结构。项目使用Storm0.9.1+Kafka0.8.1.1+Zookeeper锁+Memcached+mysql架构,从集群搭建到集群连通...

让往事随风
2016/04/19
50
0
Kafka学习之四 Kafka常用命令

Kafka学习之四 Kafka常用命令 Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 ./kafka-topics.sh -zookeeper 127.0.0.1:2181 -describe -topic testKJ1 2、为topic增加副...

舒文joven
07/19
0
0
kafka学习记录之配置

学习之地:http://kafka.apache.org/082/documentation.html#configuration http://www.orchome.com/kafka/index http://www.oschina.net/translate/kafka-design?lang=chs&p=1 kafka broker......

jy_niuren
2016/11/24
0
0
请教一下有没有flume和kafka的相关博客?

@FrankHui 你好,想跟你请教个问题: 我们打算用flume采集日志,然后把日志发送给kafka。最近再学习这块的知识,也看了你的kafka的相关博客感觉很不错。所以想请教一下有没有flume和kafka结合...

路远
2013/12/04
967
6
kafka学习(一) ---- 基本概念以及环境搭建

由于项目涉及到kafka,自己以前没有接触过这方面的,学习了下,将搭建kafka运行环境同大家分享(单机搭建的Windows下的运行环境,Linux下的由于懒得装虚拟机就没有搭建,以后有时间在分享一次...

火龙战士
2016/08/11
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

Java的快速失败和安全失败

一:快速失败(fail—fast) 在用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加、删除、修改),则会抛出Concurrent Modification Exception。 原理:迭代器在...

狼王黄师傅
2分钟前
0
0
Echarts X轴Y轴配置参数详情

mytextStyle={ color:"#333", //文字颜色 fontStyle:"normal", //italic斜体 oblique倾斜 fontWeight:"normal", //文字粗细bold bolder lighter 100 | 200 | 300 | 400... fontFamily:"sans......

wqzbxh
4分钟前
0
0
解决kettle使用JDBC读取Oracle速度慢的问题

jdbc连接添加如下信息: defaultRowPrefetch=20000

了凡川
8分钟前
0
0
Linux学习-1015

8.10 shell特殊符号cut命令 8.11 sort_wc_uniq命令 8.12 tee_tr_split命令 8.13 shell特殊符号下 相关测验题目:题目:http://ask.apelearn.com/question/5437 扩展 扩展 1. source exec 区别...

wxy丶
9分钟前
0
0
Spring Boot核心注解讲解

Spring Boot核心注解讲解 Spring Boot最大的特点是无需XML配置文件,能自动扫描包路径装载并注入对象,并能做到根据classpath下的jar包自动配置。 所以Spring Boot最核心的3个注解就是: 1,...

DemonsI
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部