当前位置:   article > 正文

kafka依赖_kafka的简单学习

kafka依赖

概述

Kafka是一种分布式的,基于发布/订阅的消息系统。特点如下:

1、以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能。

2、高吞吐量,即使在非常廉价的商用机器上也能做到单机每秒100k条以上消息的传输。

3、支持Kafka Server间的消息分区及分布式消费,同时保证每个Partition内的消息顺序传输。

4、同时支持离线数据处理和实时数据处理。

5、Scale out,支持在线水平拓展。

消息队列的优点:1、解耦 2、冗余 3、拓展性 4、灵活性和峰值处理能力 5、可恢复性 6、顺序保证(kafka保证一个partition内的数据是有序的) 7、缓冲 8、异步通信

基本术语

Producer:消息生产者,向kafka broker发消息客户端

Consumer:消息消费者,向kafka broker取(拉)消息的客户端

Consumer Group:每个消费者都属于一个组

Topic:消息分类主题,可理解为一个队列,一个topic里有多个partition

Partition:为实现拓展性,一个大的topic可以分布在多个broker上,一个topic可以分为多个partition,每个partition是一个有序队列。

Broker:一台kafka服务器就是一个broker,一个集群由多个broker组成

0a1f2c86fa85896a2ba360ecc600ee1f.png
kafka基本架构

学习过程

环境:VM虚拟机,CentOS,JDK,Kafka

1、在VM虚拟机中使用Centos系统安装kafka,kafka的安装需要JDk的环境,注意新版kafka不支持jkd7,安装jdk8即可。

2、配置server.properties,这里做单机版学习,不做集群部署,注意配置对外开放host及port,不然无法访问,即打开配置文件中listeners及advertised.listeners。

3、kafka需要zookeeper环境,先启动bin/zookeeper-server-start.sh config/zookeeper.properties 再启动bin/kafka-server-start.sh config/server.properties。

4、服务端命令测试kafka,生产者启动bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test,消费者启动bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning。

5、web环境测试,新建Springboot项目,引入kafka依赖,配置基本yml,添加Producer,使用KafkaTemplate类send()发送消息,添加消费者Consumer类,使用@KafkaListener监听topic,通过ConsumerRecord进行接收。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/937210
推荐阅读
相关标签
  

闽ICP备14008679号