Kafka介绍及快速入门

Kafka介绍

APache Kafka 是一个分布式流平台。

一个流平台有三个关键能力:
  • 发布和订阅消息流,类似于一个消息队列或企业消息系统。
  • 以容错持久的方式存储消息流。
  • 处理发生的消息流。
Kafka 通常用于两大类应用程序:
  • 构建在系统或应用程序之间可靠的获取数据的实时流数据管道。
  • 构建转换或响应数据流的实时流应用程序。
为了理解Kafka是如何做到这些的,让我们自下而上的深入探究Kafka的能力。
首先几个概念:
  • Kafka 作为一个集群跑在一个或多个服务器上,可以跨多个数据中心。
  • Kafka集群将消息流存储在称为主题的分类中。cluster stores streams of records in categories called topics.
  • 每条记录由a key, a value, 和 a timestamp组成。
Kafka 有4个核心的 APIs:
  • 生产者API允许一个应用发布一个流记录到一个或多个Kafka主题。
  • 消费者API允许一个应用订阅一个或多个主题,并且处理生产到这些主题的消息流。
  • 流API允许一个应用充当流处理器,消费来自一个或多个主题的输入流,并向一个或多个主题生成输出流,有效转换输入流为输出流。
  • 连接器API允许构建和运行可复用的生产者或消费者,将Kafka主题连接到现有的应用程序或数据系统。例如,一个关系型数据库的连接器可以捕获表的所有变更。


Kafka使用简单、高性能、与语言无关的TCP协议完成客户端与服务器之间的通信。该协议维持老版本的向后兼容。我们提供了一个Java客户端,也提供了多种语言的客户端。


Kafka快速入门

1 下载安装
tar -xzf kafka_2.11-1.0.0.tgz
cd kafka_2.11-1.0.0

2 启动服务
bin /zookeeper-server-start .sh config /zookeeper .properties
bin /kafka-server-start .sh config /server .properties

3 create a topic,创建主题
    创建主题test,仅一个分区、一个副本;
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
    列出主题
bin /kafka-topics .sh --list --zookeeper localhost:2181

4 Send some messages,发送消息
bin /kafka-console-producer .sh --broker-list localhost:9092 --topic test

5 Start a cnsumer,启动一个消费者
bin /kafka-console-consumer .sh --bootstrap-server localhost:9092 --topic test --from-beginning

6 Setting up a multi-broker cluster,启动多代理集群

为每个代理创建配置文件
cp config /server .properties config /server-1 .properties
cp config /server .properties config /server-2 .properties

内容如下:
config/server-1.properties:
    broker.id=1
    listeners= PLAINTEXT://:9093
    log.dir=/tmp/kafka-logs-1
 
config/server-2.properties:
    broker.id=2
    listeners= PLAINTEXT://:9094
    log.dir=/tmp/kafka-logs-2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值