大数据 - Kafka系列《一》- Kafka基本概念

目录

🐶1.1 什么是kafka

🐶1.2 Kafka可以用来做什么

🐶1.3 kafka的特点

🥙1. 高吞吐量、低延迟

🥙2. 可扩展性

🥙3. 持久性、可靠性

🥙4. 容错性

🥙5. 高并发

🐶1.4 Kafka的基本架构

1. 🥙Producer:生产者

2. 🥙Broker:中间组件,存储数据

Topic:主题。类似于表的概念

partition:分区。类似于hbase里面的region的概念

3. 🥙Consumer:消费者

4. 🥙Zookeeper


🐶1.1 什么是kafka

Kafka 最初是由 LinkedIn 即领英公司基于 Scala 和 Java 语言开发的分布式消息发布-订阅系统,现已捐献给Apache 软件基金会。其具有高吞吐、低延迟的特性,许多大数据实时流式处理系统比如 Storm、Spark、Flink等都能很好地与之集成。

一句话概括:Kafka 是一个分布式的基于发布/订阅模式的消息中间件,遵循先进先出的原则,分区内严格有序,但是不能保证全局的有序。

在业界主要应用于大数据实时流式计算领域,起解耦合和削峰填谷的作用。

🐶1.2 Kafka可以用来做什么

总的来讲,Kafka 通常具有 3 重角色:

  • 存储系统:通常消息队列会把消息持久化到磁盘,防止消息丢失,保证消息可靠性。Kafka 的消息持久化机制和多副本机制使其能够作为通用数据存储系统来使用。正常在公司都是存储的json串。

  • 消息系统Kafka 和传统的消息队列比如 RabbitMQ、RocketMQ、ActiveMQ 类似,支持流量削峰、服务解耦、异步通信等核心功能。

  • 流处理平台(不主流)Kafka 不仅能够与大多数流式计算框架完美整合,并且自身也提供了一个完整的流式处理库,即 Kafka Streaming。Kafka Streaming 提供了类似 Flink 中的窗口、聚合、变换、连接等功能。

 

🐶1.3 kafka的特点

🥙1. 高吞吐量、低延迟

kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, 由多个consumer group 对partition进行consume操作。

🥙2. 可扩展性

kafka集群支持热扩展

热扩展是指在系统运行时,无需停机或中断服务的情况下,向系统添加新的资源或节点。对于Kafka集群来说,热扩展意味着可以在不影响正在进行的生产和消费操作的情况下,动态地增加新的Broker节点来提高系统的吞吐量和容量。

🥙3. 持久性、可靠性

消息被持久化到本地磁盘,并且支持数据备份防止数据丢失

🥙4. 容错性

允许集群中有节点失败(若副本数量为n,则允许n-1个节点失败)

🥙5. 高并发

支持数千个客户端同时读写

Kafka在各种应用场景中,起到的作用可以归纳为这么几个术语:削峰填谷,解耦

在大数据流式计算领域中,kafka主要作为计算系统的前置缓存和输出结果缓存;

🐶1.4 Kafka的基本架构

1. 🥙Producer:生产者

往broker里面写入数据

2. 🥙Broker:中间组件,存储数据
Topic:主题。类似于表的概念
partition:分区。类似于hbase里面的region的概念

副本:leader,follower

3. 🥙Consumer:消费者

从broker里面读出数据

4. 🥙Zookeeper

用来和kafka一起管理整个集群,存储元数据信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/410305.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Linux上使用PHP-FPM与Nginx实现高效的HTTP处理

当谈到高效的HTTP处理时,PHP-FPM(FastCGI进程管理器)与Nginx的结合是许多web开发者的首选。这种组合提供了出色的性能、可扩展性和稳定性,尤其适用于高流量的网站和应用程序。 1. 为什么选择PHP-FPM与Nginx? 性能优化…

跟着cherno手搓游戏引擎【7】Input轮询

在引擎程序中任何时间,任何位置都能知道按键是否按下、鼠标的位置等等信息。 与事件系统的区别:事件系统是在按下时调用并传递按键状态;轮询是每时每刻都能获取按键状态 创建基类: YOTO/Input.h:名如其意 #pragma …

sqlilabs第五十三五十四关

Less-53(GET - GET - Error based - ORDER BY CLAUSE-String- Stacked injection) 手工注入 单引号闭合,和上一关一样堆叠注入解决 自动注入 和上一关一样 Less-54(GET - challenge - Union- 10 queries allowed -Variation 1) 手工注入 这一关开始后面的可以看…

【云原生】springboot 整合 OpenTelemetry

目录 一、前言 二、应用可观测性概述 2.1 什么是可观测性 2.2 可观测性三大指标 2.2.1 指标(Metrics) 2.2.2 日志(log) 2.2.3 追踪(Traces) 三、OpenTelemetry 介绍 3.1 什么是OpenTelemetry 3.2 OpenTelemetry架构和组件…

kibana查看和展示es数据

本文来说下使用kibana查看和展示es数据 文章目录 数据准备查询所有文档示例kibana查看和展示es数据 数据准备 可以使用es的命令或者java程序来往,es进行新增数据 查询所有文档示例 在 apifox 中,向 ES 服务器发 GET请求 :http://localhost:92…

(Matlab)基于CNN-Bi_LSTM的多维回归预测(卷积神经网络-双向长短期记忆网络)

目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、部分代码展示: 四、完整程序数据分享: 一、程序及算法内容介绍: 基本内容: 本代码基于Matlab平…

huggingface学习 | 云服务器使用git-lfs下载huggingface上的模型文件

文章目录 一、找到需要下载的huggingface文件二、准备工作(一)安装git-lfs(二) 配置git ssh 三、检查ssh连接huggingface是否成功 一、找到需要下载的huggingface文件 huggingface官网链接:https://huggingface.co/ 以…

【ArcGIS遇上Python】ArcGIS Python批量筛选多个shp中指定字段值的图斑(以土地利用数据为例)

文章目录 一、案例分析二、提取效果二、代码运行效果三、Python代码四、数据及代码下载一、案例分析 以土地利用数据为例,提取多个shp数据中的旱地。 二、提取效果 原始土地利用数据: 属性表: 提取的旱地:(以图层名称+地类名称命名)

20240112让移远mini-PCIE接口的4G模块EC20在Firefly的AIO-3399J开发板的Android11下跑通【DTS部分】

20240112让移远mini-PCIE接口的4G模块EC20在Firefly的AIO-3399J开发板的Android11下跑通【DTS部分】 2024/1/12 16:20 https://blog.csdn.net/u010164190/article/details/79096345 [Android6.0][RK3399] PCIe 接口 4G模块 EC20 调试记录 https://blog.csdn.net/hnjztyx/artic…

某银行主机安全运营体系建设实践

随着商业银行业务的发展,主机规模持续增长,给安全团队运营工作带来极大挑战,传统的运营手段已经无法适应业务规模的快速发展,主要体现在主机资产数量多、类型复杂,安全团队难以对全量资产进行及时有效的梳理、管理&…

决策树:理解机器学习中的关键算法

决策树:理解机器学习中的关键算法 决策树是一种流行而强大的机器学习算法,它从数据中学习并模拟决策过程,以便对新的未知数据做出预测。由于其直观性和易理解性,决策树成为了分类和回归任务中的首选算法之一。在本文中&#xff0…

设计模式 代理模式(静态代理 动态代理) 与 Spring Aop源码分析 具体是如何创建Aop代理的

代理模式 代理模式是一种结构型设计模式,它通过创建一个代理对象来控制对真实对象的访问。这种模式可以用于提供额外的功能操作,或者扩展目标对象的功能。 在代理模式中,代理对象与真实对象实现相同的接口,以便在任何地方都可以使…