前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka 学习笔记

Kafka 学习笔记

作者头像
Meet相识
发布2018-09-12 16:28:19
3550
发布2018-09-12 16:28:19
举报
文章被收录于专栏:技术专栏技术专栏

Kafka概述

官网

和消息系统类似

代码语言:javascript
复制
    消息中间件:生产者和消费者
    
    麻麻:生产者
    你:消费者
    馒头:数据流
        
        正常情况下:生产一个 消费一个
        其他情况:
            一直生产,你吃到某一个馒头时,你卡主(机器故障),馒头就丢失了
            一直生产,做馒头速度快,你吃来不及,馒头也就丢失了
            
        拿个碗/篮子,馒头做好以后先放到篮子里,你要吃的时候去篮子里面取出来吃
    
    篮子/框:Kafka
        当篮子慢了,馒头就装不下了,咋办?
        多准备几个篮子 === Kafka的扩容

Kafka架构

代码语言:javascript
复制
    producer: 生产者,就是生产馒头(老妈)
    consumer: 消费者,就是吃馒头的(你)
    broker: 篮子
    topic: 主题,给馒头带一个标签,topica的馒头时给你的,topiccb的馒头时给你弟弟吃的

单节点,单broker的部署及使用

配置

代码语言:javascript
复制
   $KAFKA_HOME/config/server.properties
   broker.id:0
   listeners 9092
   host.name localhost(hostname)
   log.dirs  自定义一个
   zookeeper.connect  zk

启动

代码语言:javascript
复制
zkServer.sh start //启动zk
bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties

创建topic ==zk==

代码语言:javascript
复制
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic hello_topic

查看所有topic

代码语言:javascript
复制
bin/kafka-topics.sh --list --zookeeper localhost:2181

发送消息 ==broker==

代码语言:javascript
复制
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

消费消息 ==zk==

代码语言:javascript
复制
bin/kafka-console-consumer.sh --zookeeper localhost:9092 --topic test --from-beginning

--from-beginning 表示从头开始消费

查看所有topic的详细信息

代码语言:javascript
复制
kafka-topics.sh --describe --zookeeper localhost:2181 

查看指定topic的详细信息

代码语言:javascript
复制
kafka-topics.sh --describe --zookeeper localhost:2181 --topic hello_topic

多结点broker

配置及启动

代码语言:javascript
复制
server-1.properties
server-2.properties
server-3.properties

    broker.id: 1/2/3
    listeners 9093/9094/9095
    log.dirs

bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server-1.properties &

创建topic ==zk==

代码语言:javascript
复制
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my_replicated_topic

发送消息

代码语言:javascript
复制
kafka-console-producer.sh --broker-list localhost:9093,localhost:9094,localhost:9095 --topic my_replicated_topic

消费消息

代码语言:javascript
复制
kafka-console-consumer.sh --zookeeper localhost:2181 --topic my_replicated_topic --from-beginning
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.01.02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Kafka概述
    • 官网
      • 和消息系统类似
      • Kafka架构
      • 单节点,单broker的部署及使用
      • 多结点broker
      相关产品与服务
      消息队列 TDMQ
      消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档