kafka入门,数据可靠性(八)

news2024/12/25 9:31:54

1、回顾发送流程

在这里插入图片描述

2、ACK应答原理

在这里插入图片描述
0:生斥责发送过来的数据,不需要等数据落盘应答(数据可靠性分析:丢数)
1:生产者发送过来的数据,leader收到数据后应答(数据可靠性分析:丢数)
-1(all):生产者发送过来的数据,leader和ISR队列里面的所有节点收起后应答

思考:leader收到数据,所有follower都开始同步数据,但是因为某种故障,迟迟不能与leader进行同步,那这个问题怎么解决
在这里插入图片描述

3、可靠性总结

在这里插入图片描述
acks=0,生产者发送过来数据就不管了,可靠性差,效率高;
acks=1,生产者发送过来数据Leader应答,可靠性中等,效率中等;
acks=-1,生产者发送过来数据Leader和ISR队列里面所有Follwer应答,可靠性高,效率低;
在生产环境中,acks=0很少使用;acks=1,一般用于传输普通日志,允许丢个别数据;acks=-1,一般用于传输和钱相关的数据,
对可靠性要求比较高的场景。

4、例子

package com.longer.producer;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;

import java.util.Properties;

public class CustomProducerAck {
    public static void main(String[] args) {
        //创建kafka配置对象
        Properties properties = new Properties();
        // 给 kafka 配置对象添加配置信息
        properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "hadoop100:9092");
        //序列化
        properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        //设置acks
        properties.put(ProducerConfig.ACKS_CONFIG,"all");
        //重试次数retries,默认是int最大值,2147483647
        properties.put(ProducerConfig.RETRIES_CONFIG,3);

        //创建kafka生产对象
        KafkaProducer<String, String> producer = new KafkaProducer<String, String>(properties);
        //调用 send 方法,发送消息
        for (int i = 0; i < 5; i++) {
            producer.send(new ProducerRecord<>("first", "hi," + i));
        }
        //关闭资源
        producer.close();
    }
}

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

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

相关文章

前端网络基础

目录 网络分层模型OSI七层模型TCP/IP四层模型TCP/IP五层模型 HTTP传递消息的模式传递消息的格式响应码 URL用户代理/user agent自动发送请求自动解析响应 AJAXXHRFetch 跨域同源与异源网络通信中的跨域浏览器对跨域的限制CORS简单请求对简单请求的验证 预检请求对预检请求的验证…

第4讲:使用ajax技术实现菜单展开或隐藏功能(xml数据)

使用ajax技术实现点击菜单时&#xff0c;展开当前子菜单列表&#xff0c;隐藏其他子菜单功能&#xff1b;前端使用静态html页面生成一级菜单&#xff0c;当点击某个菜单时&#xff0c;发送数据到后端(jsp文件)&#xff0c;利用responseXML返回xml格式文件&#xff0c;刷新二级菜…

机器学习李宏毅学习笔记35

文章目录 前言一、Meta learning1.第一步2.第二步3.第三步 二、machine learning 和 meta learning区别总结 前言 Meta learning元学习&#xff1a;学习如何学习 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、Meta learning 学习这件事也是一个…

webassembly安装python环境问题

在部署emscripten过程中&#xff0c;步骤emsdk install latest报错&#xff1a; 本以为是多个版本或版本不对应导致的&#xff0c;但是卸载所有版本并安装python3.9之后还是不行。 现象就是在cmd中使用python --version不报错也无版本显示。 一波bing~之后找到了结果(PYTHON|…

《Opencv3编程入门》学习笔记—第九章

《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第九章 直方图与匹配 一、图像直方图概述 1、作用&#xff1a;   在每个兴趣点设置一个有相近特征的直方图所构成的标签&#xff0c;通过标记帧与帧之间显著的边缘、颜…

性能测试讲解超详细Jmeter

目录 什么是性能 性能测试的目的 功能测试和性能测试 基准测试 负载测试 稳定性测试 压力测试 并发测试 总结 性能测试指标 响应时间 并发数 吞吐量 点击数 错误率 资源使用率 总结 性能测试流程 性能测试需求分析 性能测试计划和方案 ​编辑性能测试用例​编辑 性…

【Linux系统编程】shell的感性理解——王婆说媒

文章目录 1. shell是什么&#xff1f;它有什么作用&#xff1f;2. 透过王婆说媒感性理解shell的运行机制开端发展波澜渐起&#xff08;正常命令的处理&#xff09;故事角色与处理过程中各部分的映射走向高潮&#xff08;非法请求的处理&#xff09;shell 存在的意义结尾 1. she…

Elasticsearch:删除快照安全吗?

快速回答&#xff1a;是的&#xff01; 删除快照是安全的&#xff0c;因为每个快照在逻辑上都是独立的。 了解如何以及为何可以继续阅读。 Elasticsearch 使用增量快照&#xff0c;使你能够高效地备份和恢复数据。 你可以在这篇精彩的文章中找到它的工作原理 “Elasticsearch&…

【select2下拉框】带搜索功能以及实现关联下拉框

需求 1、有两个下拉框 地区下拉框机构下拉框 2、地区变化&#xff0c;机构下拉框中内容也随之变化。 3、当地区为空时&#xff0c;显示全部机构列表 效果展示 代码实现 1、前端 &#xff08;具体样式相关代码不在此展示&#xff09; <div class"form-group"…

简单的手机记事本怎么把内容标记为完成状态?

很多人平时会在手机记事本上记录一些自己身边需要记住的事情&#xff0c;有的事情做完之后不想删除&#xff0c;又想要和未完成的内容区分开&#xff0c;那么这种情况下可以将它标记为已完成状态。简单的手机记事本怎么把内容标记为完成状态呢&#xff1f;以iPhone手机端敬业签…

阿里云原生大数据计算服务maxcompute学习体验

这两天有兴趣学习了下阿里的maxcompute大数据&#xff0c;随便谈谈自己的感受。 一、感受 阿里云相关的产品线太多了&#xff0c;热门产品一页已经放不下了。正因为东西太多给人一种杂乱的感觉&#xff0c;也可能这是给技术人员用的&#xff0c;所以不用太讲客户体验&#xf…

C# Lable增删改查

文章目录 C# Lable 增删改查&#xff08;1&#xff09;项目截图Insert&#xff08;新增&#xff09;新增执行SQL语句方法 Delete&#xff08;删除&#xff09;删除执行SQL语句方法 Update&#xff08;修改&#xff09;删除执行SQL语句方法 Select&#xff08;查询&#xff09;查…

DeepC 实用教程(二)建模流程

目 录 一、前言二、单位制与容差三、环境数据四、浮体模型4.1 定义浮体数据4.2 浮力补偿4.3 创建系泊连接点 五、系泊系统5.1 创建系泊连接点5.2 定义各种属性5.3 创建线对象 六、参考文献 一、前言 SESAM &#xff08;Super Element Structure Analysis Module&#xff09;是由…

JUC之CAS和原子操作类

文章目录 1 CAS1.1 是什么1.2 原理1.3 UnSafe1.4 自旋锁1.5 CAS的问题1.5.1 死循环消耗CPU资源1.5.2 ABA问题 2 原子操作类2.1 引用类型原子类2.1.1 AtomicReference2.1.2 AtomicStampedReference2.1.3 AtomicMarkableReference 2.2 基本类型原子类2.3 数组类型原子类2.4 对象的…

【2022 JCR 期刊影响因子】(四)水资源

原文链接&#xff1a; 【2022 JCR 期刊影响因子】&#xff08;四&#xff09;水资源 微信公众号同步更新 地信学子GISer and Coder 2022 JCR 期刊影响因子刚刚发布&#xff0c;今年的影响因子只保留1位小数。水资源领域的 SCIE 收录期刊的影响因子如下。 微信公众号同步更新 …

Unity基础-Vector3.Lerp的使用给一个简单的实例

一个简单的实例&#xff0c;演示了如何使用Vector3.Lerp来实现物体在两个位置之间平滑移动的效果&#xff1a; using UnityEngine;public class ObjectMovement : MonoBehaviour {public Transform startPoint;public Transform endPoint;public float moveDuration 2f;priva…

[PMLR 2021] Zero-Shot Text-to-Image Generation:零样本文本到图像生成

[PMLR 2021]Zero-Shot Text-to-Image Generation&#xff1a;零样本文本到图像生成 Fig 1. 原始图像(上)和离散VAE重建图像(下)的比较。编码器对空间分辨率进行8倍的下采样。虽然细节(例如&#xff0c;猫毛的纹理、店面上的文字和插图中的细线)有时会丢失或扭曲&#xff0c;但图…

为什么有些前端一直用 div 当按钮,而不是用 button?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言div 和 button使用…

Linux学习之进程控制和进程之间的关系

nice值的设定 关于vim四种模式一些介绍&#xff0c;可以看《Linux学习之vim正常模式和插入模式》 vim a.sh&#xff0c;按i进入到插入模式&#xff0c;这样才能输入字符到a.sh文件中。 把下边的内容写进去&#xff1a; #!/bin/bashecho $$ while : # 无限循环 do: done按Es…

Redis设计与实现笔记之SDS

1 数据结构与对象 1.1 简单动态字符串 SDS简单动态字符串&#xff08;simple dynamic string&#xff0c;SDS&#xff09;是Redis中字符串的底层数据结构。 struct sdshdr {// 记录 buf 数组中已使用字节的数量// 等于 SDS 所保存字符串的长度int len;// 记录 buf 数组中未使…