大数据高吞吐量的分布式消息队列系统 Kafka

Posted 软件技术方案

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据高吞吐量的分布式消息队列系统 Kafka相关的知识,希望对你有一定的参考价值。

Kafka介绍

Kafka特点

  • 高吞吐率;

  • 支持C#等多语言,rocketmq主要面向java;

  • 提供消息持久化能力,可应对TB级以上数据;

  • 支持离线数据处理和实时数据处理;

  • 支持在线水平扩展

相关概念

Producer:消息生产者。
Consumer:消息消费者。
Consumer Group:消费者组每个消费者负责消费不同分区的数据,提高消费能力。
Broker:集群由多个Broker组成。Broker容纳多个Topic。
Topic:Topic将消息分类,生产者和消费者面向的是同一个Topic。
Partition:实现扩展性,提高并发能力,每个Partition是一个有序队列。
Replica:副本,实现备份功能,保证集群节点数据不丢失。
Offset:消费者消费的位置信息。
ZooKeeper:Kafka集群依赖于ZooKeeper,帮助Kafka存储和管理集群信息。

安装步骤

1 下载安装 

   tar -xzf kafka_2.11-2.3.0.tgz

2 调整配置文件 conf/server.properties  

   默认端口号9092,可以修改调整。

3 启动/停止服务

   启动服务:./bin/kafka-server-start.sh config/server.properties &

   停止服务:/bin/kafka-server-stop.sh

测试消息

创建主题

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

发送消息

/bin/kafka-console-producer.sh \
--broker-list localhost:9092 \ 
--topic test

#进入输入模式,输入信息,例如:
hello world


获取消息

/bin/kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic test \
--from-beginning

便会显示出刚才发送的消息:
hello world


以上是关于大数据高吞吐量的分布式消息队列系统 Kafka的主要内容,如果未能解决你的问题,请参考以下文章

kafka高吞吐量的分布式发布订阅的消息队列系统

kafka简介和术语

阿里云消息队列Kafka最新推出公网支持

为什么消息队列Kafka的数据可靠性高达99.999999%?

消息队列服务Kafka揭秘:痛点优势以及适用场景

Kafka,Mq和Redis作为消息队列使用