Kafka

作者: 手扶拖拉机_6e4d | 来源:发表于2019-04-28 10:21 被阅读0次

    概念:
    Kafka作为一个分布式的流平台具有三个关键能力:
    1.发布和订阅消息(流),在这方面,它类似于一个消息队列或企业消息系统
    2.以容错的方式存储消息(流)
    3.在消息流发生时处理它们

    优势:
    1.构建实时的流数据管道,可靠地获取系统和应用程序之间的数据
    2.构建实时流的应用程序,对数据流进行转换或反应

    首先几个概念:
    1.kafka作为一个集群运行在一个或多个服务器上。
    2.kafka集群存储的消息是以topic为类别记录的。
    3.每个消息(也叫记录record,我习惯叫消息)是由一个key,一个value和时间戳构成。

    kafka有四个核心API:
    1.应用程序使用 Producer API 发布消息到1个或多个topic(主题)。
    2.应用程序使用 Consumer API 来订阅一个或多个topic,并处理产生的消息。
    3.应用程序使用StreamsAPI充当一个流处理器,从1个或多个topic消费输入流,
    并生产一个输出流到1个或多个输出topic,有效地将输入流转换到输出流。
    4.ConnectorAPI允许构建或运行可重复使用的生产者或消费者,将topic连接到现有的应用程序或数据系统。

    下载安装:
    我是在自己的mac安装的,下面给出安装命令:
    brew install kafka (会自动安装Zookeeper)

    启动:
    brew services start zookeeper
    brew services start kafka

    if you don't want/need a background service you can just run:
    zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties & kafka-server-start /usr/local/etc/kafka/server.properties

    使用kafka:
    1.创建一个名为 dog 的Topic, 只有一个分区和一个备份
    kafka-topics --create --zookeeper localhost:9092 --replication-factor 1 --partitions 1 --topic dog
    2.查看创建的topic信息
    kafka-topics --list --zookeeper localhost:9092
    3.发送消息
    kafka-console-producer --broker-list localhost:9092 --topic dog
    4.消费消息
    kafka-console-consumer --bootstrap-server localhost:9092 --topic dog

    生产消息 和 消费消息 见下图:


    9AC323F5-A495-4A5F-BE2C-86990F4C15EC.png

    相关文章

      网友评论

          本文标题:Kafka

          本文链接:https://www.haomeiwen.com/subject/zjgrnqtx.html