Kafka 介绍
Apache Kafka是一个分布式流式平台。 流平台有三个关键的能力: 发布和订阅记录流,类似于消息队列或企业消息传递系统。 使用容错耐用的方式存储记录流。 记录产生时处理数据。 Kafka主要是用在两类应用中: 在收数端和实时计算或批处理计算框架之间做数据通道 作为处理流式数据的应用 ####为了解kafka怎么处理这些事情,需要先了解一下概念: Kafka是运行在一台或者多台服务器的集群上的,并且可以扩展到多个数据中心; Kafka集群以叫做topics的类别存储流记录; 每个记录都由key,value,timestamp组成; Kafka有4个核心API: Producer API : 应用程序发布流记录到一个或者多个Kafka topics; Consumer API : 应用程序订阅一个或者多个topics并且处理产生的数据; Streams API : 应用程序扮演着流处理器的角色,从一个或者多个输入流中消费数据并且将产生的数据输出到一个或者多个topic中。 Connector API:构建并且运行将Kafka topic连接到现有应用程序或数据系统的可重用生产者或消费者。 例如,关系数据库的连接器可能捕获对表的每个更改。 在Kafka中,客户端和服务器之间的通信是通过简单,高性能,语言无关的TCP协议完成的。 此协议已版本化并保持与旧版本的向后兼容性。