Kafka(消息队列)--简介

1、kafka:

是一个高吞吐的分布式消息系统,与Hdfs比较相似,但是与hdfs的区别是在于hdfs是存储的是历史的、海量的数据,然而kafka存储的是实时的、最新的数据。

2、消息队列:

指的是在Kafka中的数据队列。可以存放数据在峰值的时候的数据,因为在数据峰值的时候,此时的数据量比较大,对于消费者没有办法及时的消费,为了防止反压的现象,此时的数据就可以在消息队列中等待。

生产者:生产者负责产生数据

消费者:消费者负责消费数据

3、消息队列的一般的应用场景:系统之间的解耦合、峰值压力缓冲、异步通信

峰值压力缓冲的应用在Flink中:

当数据某一时刻的产生的速度要是大于Flink的处理的速度,可以通过提高并行度来增加数据处理的速度,但是Flink是7*24小时的工作机制,就会导致资源的浪费,此时可以通过kafka来做峰值压力缓冲,就是在Flink高峰期的时候,将没办法及时处理的数据缓存在队列中,减轻Flink的压力。

4、Kafka的特点:

1、消息系统的模型:生存者消费者模型,FIFO模型

2、高性能:单节点支持上千个客户端

3、持久性:消息直接持久化在磁盘上且性能比较好

4、分布式:数据副本冗余,流量负载均衡,可扩展

5、很灵活:消息长时间持久化+client维护消费状态

5、kafka性能比较好的原因:

1、kafka写磁盘是顺序写的

2、采用了sendFile的0拷贝的技术,提高速度

3、还采用了批量写入,一批一批的写入数据,64k为一个单位。

6、kafka集群:

1、组件:

1、broker:使用存放数据的,也是多节点的

2、Zookeeper:负责存储kafka的元数据

相关推荐
zcmodeltech4 小时前
农业教学实训沙盘物联网控制系统设计:基于STM32与Modbus RTU的“感知-控制-实训”一体化方案
分布式·stm32·嵌入式硬件·物联网
java1234_小锋5 小时前
【免费】基于Spark实时交通流量分析与拥堵预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
java·大数据·spark·kafka·实时交通流量分析与拥堵预测
敲个大西瓜6 小时前
Kafka一百道核心面试题
kafka
ACP广源盛139246256737 小时前
GSV6155@ACP# Type-C 视频信号转换芯片:技术架构、工程痛点适配与落地场景分析
大数据·c语言·开发语言·人工智能·分布式·嵌入式硬件·架构
平行侠8 小时前
校园分布式智算与模型对攻赛(DormMesh Clash)可行性分析
人工智能·分布式
后端观测站8 小时前
第三篇:消息队列如何保证消息可靠性?
kafka·java-rocketmq
笨蛋不要掉眼泪1 天前
RabbitMQ消息队列:发送者的可靠性
java·分布式·rabbitmq
AAA@峥1 天前
Ceph 分布式文件系统 CephFS 实战指南
运维·分布式·ceph
cyadyx1 天前
RabbitMQ 使用说明文档
分布式·rabbitmq
布鲁飞丝1 天前
kafka 副本集设置和理解
分布式·kafka