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

分布式消息队列Kafka

作者头像
凹谷
发布2020-04-11 10:48:56
1K0
发布2020-04-11 10:48:56
举报

基本概念

主题:好比数据库表,或者系统中文件夹

分区:一个主题可以分若干分区,同一个分区内可以保证有序

偏移量:一个不断递增的整数值,每个分区的偏移量是唯一的

broker:一个独立的kafka服务器

MirrorMaker工具:多集群间消息复制

Zookeeper:保存集群元数据和消费者信息,broker和主题元数据、消费者元数据分区偏移量

硬件选择

磁盘吞吐量、磁盘容量、内存、网络、CPU

生产者(KafkaProducer)

序列化:自定义序列化、Avro

分区:ProducerRecord对象包含了目标主题、键和值,

键有两个作用:可以作为消息的附加信息,也可以用来决定消息改写到主题的那个分区,拥有相当键的消息会被写到同一个分区。

消费者(KafkaConsumer)

消费者和消费者群组

kafka构建数据管道:数据段之间的大型缓存区

kafka是一个强大的消息总线,可以传递事件流,但是没有处理和转换事件的能力,kafka的可靠的传递能力让它成为流式处理系统的完美数据来源

flume是分布式的日志收集系统,它将各个服务器中的数据收集起来并送到指定的地方去

日志输出到flume,log4j里加上日志

业界比较典型的一中用法是:

线上数据 -> flume -> kafka -> hdfs -> MR离线计算 或者:

线上数据 -> flume -> kafka -> storm

简单点概括 flume类似于管道,kafka类似于消息队列。之所以题主觉得类似大概是因为都能用于数据传输

Flume和Kafka应该结合来使用,Flume作为日志收集端,Kafka作为日志消费端。

Flume的Source-Channel-Sink模型,非常适合作为日志收集的模型

kafka常用命令:

创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

展示topic

bin/kafka-topics.sh --list --zookeeper localhost:2181

描述topic

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

生产者:

bin/kafka-console-producer.sh --broker-list 130.51.23.95:9092 --topic my-replicated-topic

消费者:

bin/kafka-console-consumer.sh --zookeeper 130.51.23.95:2181 --topic test --from-beginnin

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与微服务架构 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档