Kafka学习,官网笔记(1)~

来源:互联网 发布:网络借贷细则 编辑:程序博客网 时间:2024/05/02 00:06

最近想学习kafka这个消息队列,于是想着先阅读官网的介绍以及入门实例,奈何英文太差,只能自己一边翻译一遍学习了,希望大家勿怪!


简介:

Kafka 是一个分布式流平台,实际上这到底以为这什么呢?

 我们可以想到的分布式流平台需要具备的三个能力是:

1.它可以让你向流中发布和订阅记录,在这方面,kafka和消息队列、企业消息系统很相似。

2.它可以让你以容错的方式存储记录流。

3.它可以允许在记录发生时处理记录流。(Streams of records 不知道怎么理解)

那么kafka的有点杂哪里?

它可以用于两大类的应用程序:

1.在系统和应用程序之间构建可靠的实时数据流管道,可以用来获取可靠数据;

2.构建实时的流应用程序用于变换或者响应实时流数据。

要了解Kafka如何做这些事情,让我们从底层自底向上探索kafka的能力。

首先,有几个概念:

·kafka可以像集群一样运行在一个或者多个服务器上

·kafka集群在类别中存储记录流被称为主题

·每个记录等价于一个key.value.timestamp

kafka有四个核心API:

·Producer API(生产者API)允许应用程序想一个或者多个kafka主题发布记录流

·Consumer API(消费者API)允许应用程序订阅一个或者多个主题,并且处理生成的记录流

·Streams API(流API)允许应用程序充当一个流处理着,从一个或者多个主题消费输入流并且向一个或者多个主题生产输出流,有效的将输入流转换成输出流

·Connector API(连接器API)允许向已存在的应用或者系统连接kafka主题,构建并运行可重复使用的生产者或者消费者。例如,一个关系数据库的连接器可能捕获表中的每次更改。

在kafka,在客户端和服务器完成的通讯是简单、高效率、语言未知的TCP协议。此协议版本化,并保持与旧版本的向后兼容性,我们一个一个Java kafka客户端,但是kafka客户端可以有很多种语言实现。


0 1