kafka学习

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

如图所示:

             kafka_diagram.png

1.介绍

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

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

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

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

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

kafka的优势是什么?

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

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

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

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

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

kafka 有4个核心的api:

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

关系如图:

           kafka-apis.png

 

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

 

转载于:https://my.oschina.net/zhangxiaoxin210/blog/1517948

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值