大数据 - 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.mfbz.cn/a/320519.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Maven】001-Maven 概述

【Maven】001-Maven 概述 文章目录 【Maven】001-Maven 概述一、Maven 概述1、为什么学习 MavenMaven 作为依赖管理工具Maven 作为构建工具其它 2、Maven 介绍3、Maven 软件工作模型图 一、Maven 概述 1、为什么学习 Maven Maven 作为依赖管理工具 依赖管理: Mave…

python tcp socket中实现SSL/TLS认证

SSL/TLS介绍 官话说SSL是安全套接层(secure sockets layer),TLS是SSL的继任者,叫传输层安全(transport layer security)。 说白点,就是在明文的上层和TCP层之间加上一层加密,这样就保证上层信息传输的安全。如HTTP协议是明文传输…

git常用命令集合及其演示

文章目录 一.git常用命令集合及其演示1.git config --list 查看配置信息2.git status 查看当前仓库的状态3.git add . 加到暂存区4.git commit -m "描述信息" 添加到版本库5.git diff xxxx 查看xxxx文件修改了哪些内容,相比于暂存区的区别6.git rm --cach…

linux Tcp总结

Tcp连接建立时的影响因素 在Client发出SYN后,如果过了1秒 ,还没有收到Server的响应,那么就会进行第一次重传;如果经过2s的时间还没有收到Server的响应,就会进行第二次重传;一直重传tcp_syn_retries次。 对…

Python3.10安装教程

Python3.10安装 Python的安装按照下面几步进行即可,比较简单。 下载Python安装文件,打开Python的下载页面,我这里选择安装的版本是3.10.11,根据自己电脑版本选择对应安装包 安装包下载完毕后,按照步骤开始安装。选择…

微信小程序rsa加密

没有使用npm下载依赖的方式,直接引入了rsa.js文件,rsa.js文件在后面,目录结构如下: 在index.js文件引用 import { proxyInstance, backendUrl } from ../../util/request.js; import JSEncrypt from ./rsa.js const key -----BE…

数据模型/数据建模的含义

我们可以从以下四个方面来了解 (1)、业务模型 (2)、构建表关系/表链接 (3)、数学模型 (4)、算法模型 业务模型 建立业务模型的重点是懂业务,即了解业务的整个过…

探寻闲鱼SellerId加解密算法

最近一直在研究闲鱼的加密算法,无他,因为阿里的加密可以算是天花板级别的,研究和学习起来才值得。 很多人可能发现了,通过抓包得到的闲鱼数据包,sellerId等等值是加密过的。这就导致了很多人通过抓包或者协议请求得到…

qt图形化界面开发DAY2

作业: 1> 思维导图 2> 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否…

第 5 课 编写简单的发布器 Publisher

文章目录 第 5 课 编写简单的发布器 Publisher 第 5 课 编写简单的发布器 Publisher 本节以创建一个velocity_publisher.py的(发布者)节点为例进行讲解。 输入指令“roscd beginner_hiwonder”,回车。进入beginner_hiwonder软件包。 roscd…

数据结构(c)冒泡排序

本文除了最下面的代码是我写的,其余是网上抄写的。 冒泡排序 什么是冒泡排序? 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交…

JAVA开发入门

文章目录 计算机基本概念DOS常用命令JAVA语言发展史JDK下载JAVA体系与特点JDK安装JAVA环境变量配置 计算机基本概念 计算机组成原理 计算机组装 计算机:电子计算机,俗称电脑。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子…

如何申请IP地址证书

什么是IP地址证书? IP地址证书是一种用于验证网站服务器身份的数字证书,它可以确保网站与用户之间的通信安全。与传统的域名证书不同,IP地址证书直接针对服务器的IP地址进行认证,适用于没有独立域名的网站或需要对多个域名进行统…

《优化接口设计的思路》系列:第七篇—接口限流策略

系列文章导航 第一篇—接口参数的一些弯弯绕绕 第二篇—接口用户上下文的设计与实现 第三篇—留下用户调用接口的痕迹 第四篇—接口的权限控制 第五篇—接口发生异常如何统一处理 第六篇—接口防抖(防重复提交)的一些方式 第七篇—接口限流策略 本文参考项目源码地址&#xff…

抖音流量基础

流量是什么 五维四率 人货场 赛马机制 如何赛马 赛马机制小结 流量来源渠道 曝光进入率 停留时长 互动率 转粉率 商品点击率 商品转化率 GPM 成交密度 抖音流量推荐机制 权重决定推流的“量” 什么是权重 权重的分类 小结 权重在轻抖查看 标签决定推流的“质” 什么是标签…

【NI 国产替代】PXIe‑6378,16路AI(16位,3.5 MS/s/ch),4路AO,48路DIO,PXI多功能I/O模块

PXIe,16路AI(16位,3.5 MS/s/ch),4路AO,48路DIO,PXI多功能I/O模块 PXIe‑6378是一款同步采样的多功能DAQ设备。 该模块提供了模拟 I/O、数字I/O、四个32位计数器和模拟和数字触发。 板载NI‑STC3…

从一到无穷大 #20 TimeUnion,适用于混合云的时序数据库?是玩具还是真实可用

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言论文块存储与对象存储统一数据模型高效的内存数据结构Elastic time-partitioned …

逸学Docker【java工程师基础】2.Docker镜像容器基本操作+安装MySQL镜像运行

基础的镜像操作 在这里我们的应用程序比如redis需要构建成镜像,它作为一个Docker文件就可以进行构建,构建完以后他是在本地的,我们可以推送到镜像服务器,逆向可以拉取到上传的镜像,或者说我们可以保存为压缩包进行相互…

高级分布式系统-第9讲 实时调度--静态调度与动态调度

静态调度 在静态调度中,任务组的调度表是通过离线计算得出的。在调度表的生成过程中,必须把所有任务的资源、优先级和同步要求考虑进去,并且确保所有的截止时间要求。这个调度表指明了各个任务的运行起始时间 ,一旦生成就不再变化…

Linux:/proc/kmsg 与 /proc/sys/kernel/printk_xxx

目录 前言一、/proc/kmsg1、简介2、如何修改内核日志缓冲区3、dmesgklogctl 函数(来源于 man 手册) 4、扩展阅读 二、 /proc/sys/kernel/printk_xxx三、/dev/kmsg 前言 本篇文章将为大家介绍与 Linux 内核日志相关的一些控制文件,共同学习&am…
最新文章