大数据之Kafka高级知识点

news2024/11/16 7:29:46

文章目录

  • 前言
  • 一、分片和副本机制
    • (一)分片机制
    • (二)副本
  • 二、Kafka如何保证数据不丢失
    • (一)Producer生产者
    • (二)Broker
    • (三)Consumer消费者
  • 三、消息存储和查询机制
  • 总结


前言

#博学谷IT学习技术支持#
上篇文章主要讲解Kafka Shell命令和相关API,本文介绍Kafka中较为高级的知识,分片、副本机制等,让我们接着往下看。

一、分片和副本机制

(一)分片机制

分片机制主要解决单台服务器存储容量有限的问题,当数据量非常大的时候,一台服务器存储不了,可以通过将数据拆成多份,分别存在Kafka集群中的不同服务器中;一台服务器上的数据叫做一个分片。
在这里插入图片描述

(二)副本

副本备份机制主要是解决数据安全性问题,如果数据只保存一份,那么存在数据丢失的风险,为了更好的容灾和容错,可以将同一份数据存储在不同的服务器上,从而保证数据的安全性。
在这里插入图片描述

二、Kafka如何保证数据不丢失

保证数据不丢失主要有三个方面,分别是Producer生产者、Broker以及Consumer消费者。

(一)Producer生产者

如果保证生产者数据不丢失,生产数据时需要服务器返回一个响应码Ack,从而保证Kafka集群已经接受到数据,
关于Ack主要有三个状态,根据不同的需求选择不同的Ack状态值:

  1. 状态值为0:生产者只管生产数据,无需确认Kafka集群是否接收到数据;
  2. 状态值为1:Kafka集群中的Leader节点接收到数据后返回响应;
  3. 状态值为-1: Kafka集群中所有节点都接收到数据后返回响应

关于生产者生产数据,存在较为重要的三个问题:

  1. 如果生产数据时,Kafka集群没有回复Ack响应
  2. 一条一条发送到Kafka集群中,是否有占用带宽
  3. 在第2点基础上,如果数据存满后发送给Kafka集群,若此时集群没有及时响应,如何处理缓存池中的数据

针对上方三个问题,肯定有相对应的解决方案,
第一个问题的解决方案就是Producer设置一个TimeOut超时时间,一超时就认定为发送失败;
第二个问题主要的点在于一条一条发送会占用一定的带宽,将数据放进一个缓冲区中,达到一定数据量或者时间,再将缓存区中的数据统一发送给Kafka集群,即可解决问题;
第三个问题需要视具体需求而定,可以对Kafka集群进行设定,若出现该问题时设定是否情况缓冲池中的数据。

(二)Broker

(三)Consumer消费者

三、消息存储和查询机制


总结

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重新设计 TCP 协议

看一段关于 TCP 协议的历史讨论,源自:The design philosophy of the DARPA internet protocols 读这段文字时,你可能觉得这不是在谈 TCP,而是在创造一个新协议,但事实上这就是 TCP 在被创造过程中真实的纠结。 现在来…

Java知识点细节简易汇总——(6)面向对象编程(中级部分)

一、IDE快捷键 删除当前行, 默认是 ctrl Y 自己配置 ctrl d复制当前行, 自己配置 ctrl alt 向下光标补全代码 alt /添加注释和取消注释 ctrl / 【第一次是添加注释,第二次是取消注释】导入该行需要的类 先配置 auto import , 然后使用 altenter 即可快速格式化…

Day867.事务隔离 -MySQL实战

事务隔离 Hi,我是阿昌,今天学习记录的是关于事务隔离的内容。 提到事务,肯定不陌生,和数据库打交道的时候,总是会用到事务。 最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行…

[前端笔记——CSS] 10.层叠与继承、选择器

[前端笔记——CSS] 10.层叠与继承、选择器1.层叠与继承1.1 冲突规则1.2 继承1.3 层叠1.4 CSS位置的影响2.选择器2.1 选择器是什么?2.2 选择器列表2.3 选择器的种类类型、类和 ID 选择器标签属性选择器伪类与伪元素运算符选择器参考表1.层叠与继承 1.1 冲突规则 CS…

一起自学SLAM算法:8.1 Gmapping算法

连载文章,长期更新,欢迎关注: 下面将从原理分析、源码解读和安装与运行这3个方面展开讲解Gmapping 算法。 8.1.1 Gmapping原理分析 首先要知道,Gmapping是一种基于粒子滤波的算法。在7.7.2节中已经提到过用RBPF(Rao-…

linux系统中使用QT实现APP开发的基本方法

大家好,今天主要和大家分享一下,如何使用QT进行APP的主界面开发的方法。 目录 第一:APP界面开发基本简介 第二:滑动界面实现 第三:APP界面开发实现 第四:APP主界面测试 第一:APP界面开发基本…

ARP渗透与攻防(一)之ARP原理

ARP原理 前言 ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。ARP攻击主要是存在…

CSS3基础内容

目录 CSS基本样式 选择器分类 标签选择器 类选择器 利用类选择器画三个盒子 多类名 id选择器 id选择器和类选择器的区别 通配符选择器 CSS字体属性 字体粗细font-weight 字体样式 CSS文本属性 CSS的引入方式 行内样式表(行内式) 内部样式表…

2023年集卡活动简记

文章目录支付宝总评:【强烈推荐】年味浓,必中奖,单倍金额不算少。只关注开奖可以除夕当天玩儿。集卡分1.88元难度:【非常低】必中奖时间投入:【较少】无需打开其他App,比较轻松。操作体验:【好】…

深度理解卷积神经网络

神经网络包括卷积层,池化层,全连接层。一个最简单的神经元结构,假如有三个输入,都对应一个权重参数,然后通过权重加起来,经过一个激活函数,最后输出y。CNN中独特的结构就是卷积层,就…

拓展:阿里巴巴中文站架构演进分析【部分】

文章目录前言阿里巴巴中文站架构发展历程阿里巴巴第五代架构数据架构的复杂前言 由学习整理而来,并非有意抄袭。如果有冒犯行为,请及时联系作者进行处理! 阿里巴巴中文站架构发展历程 时间关键技术1999第一代网站架构Perl,CGl&…

【实操案例八】元组、集合操作 实例代码及运行效果图!

任务一:我的咖啡馆你做主 方法一:使用列表 # 任务一:我的咖啡馆你做主 # 方法一:使用列表lst[蓝山,卡布奇诺,拿铁,皇家咖啡,女王咖啡,美丽与哀愁]for i in lst:print(lst.index(i)1,.,i,end\t) print()while True:chice int(in…

SpringCloud+Ribbon 报错:java.net.unknownhostexception:XXX

SpringCloudRibbon 报错:java.net.unknownhostexception:XXX 问题分析: 网上很多的说法是依赖冲突导致,原因是什么呢:如果你的org.springframework.cloud:spring-cloud-starter-netflix-eureka-client 依赖中包含了ribbon依赖&…

常用JVM配置参数简介

既然学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。 既然如此,那么在IDE的控制台打印GC日志是必不可少的了。现在就告诉你怎么打印。 (1)如果你用的是…

Elasticsearch7.8.0版本高级查询—— 分页查询文档

目录一、初始化文档数据二、分页查询文档2.1、概述2.2、示例一、初始化文档数据 在 Postman 中,向 ES 服务器发 POST 请求 :http://localhost:9200/user/_doc/1,请求体内容为: { "name":"zhangsan", "ag…

数据分析-深度学习 Pytorch Day8

一。什么是循环神经网络:循环神经网络(Rerrent Neural Network, RNN),历史啊,谁发明的都不重要,说了你也记不住,你只要记住RNN是神经网络的一种,类似的还有深度神经网络DNN&#xff…

广州周立功CanTest卡使用教程一

网上有不少Can采集平台,包括Ardunio,Can卡,也有不少人用Freescale自己DIY一个平台,这些都是相当不错,并且都有成熟的代码,这里介绍在汽车诊断软件领域普遍都会选择的Can卡使用。 大家是不是对这个节面非常熟悉,CAN-bus 通用测试软件是一个专门用来对所有的 ZLGCAN 系列板…

【Python】基于经典网络架构训练图像分类模型——图像识别模型与训练策略(2023年1月22日,大年初一,春节快乐,兔年大吉)

声明:仅学习使用~ 今天是大年初一,祝大家新年快乐!!! 这个练习使用的图片稍多,因此初次在PyCharm里面可能会需要一些时间。 (注释中包含遇到的一些错误以及修正,同时也含有一些输出,部分较长的输出以省略号的形式在注释里面展示了) 2023.1.22,大年初一,新年快乐…

LoadBalancer源码解析

文章目录一、背景二、总体流程三、源码解析1. lb拦截器配置2. LB拦截器实现3. LB执行前置处理4. 负载均衡5. LB执行http请求一、背景 Spring Cloud 2020版本以后,默认移除了对Netflix的依赖,其中就包括Ribbon,官方默认推荐使用Spring Cloud …

生物化学 电阻抗成像OpenEIT 番外篇 EIT公式

EIT简介 摘要电阻抗断层扫描(EIT)是一种成像方式,使用无害的电流探测患者或物体。电流通过放置在靶表面上的电极馈送,数据由在电极处测量的电压组成,这些电压由一组线性独立的电流注入模式产生。EIT旨在恢复目标内部电…