当前位置: 首页 > news >正文

Kafka的ACK配置含义详解

Kafka的ACK配置含义详解

Kafka producer有三种ack机制 初始化producer时在config中进行配置;

参数-1,0,1分别代表什么含义

ack等于0:

含义

意味着producer不等待broker同步完成的确认,只要继续发送下一条(批)信息

优缺点

提供了最低的延迟。但是最弱的持久性,当服务器发生故障时,就很可能发生数据丢失。例如leader已经死亡,producer不知情,还会继续发送消息broker接收不到数据就会数据丢失。

ack等于1(默认):

含义

意味着producer要等待leader成功收到数据并得到确认,才发送下一条message。

优缺点

此选项提供了较好的持久性较低的延迟性。

如果leader成功写入后,还没来得及把数据同步到follower节点就挂了,这时候消息就丢失了。

ack等于-1:

含义

意味着producer只有收到分区内所有副本的成功写入的通知才认为推送消息成功

优缺点

持久性最好,延时性最差。

三者优先级及可靠性

0,1-1三种机制 性能递减可靠性递增

如何保证宕机的时候数据不丢失的

如何保证宕机的时候数据不丢失?采用了多副本冗余的高可用机制。

在kafka集群中,每个Partition都有多个副本,其中一个副本叫做leader,其他的副本叫做follower。

假设一个Topic拆分为了3个Partition,分别是Partition0,Partiton1,Partition2,此时每个Partition都有2个副本。

比如Partition0有一个副本是Leader,另外一个副本是Follower,Leader和Follower两个副本是分布在不同机器上的。

#创建3个分区三个副本的topic
./kafka-topics.sh --create --zookeeper-server kafka1-ip:2181,kafka2-ip:2181,kafka3-ip:2181, --replication-factor 3 --partitions 3 --topic topicname

这样的多副本冗余机制,可以保证任何一台机器挂掉,都不会导致数据彻底丢失,因为起码还是有副本在别的机器上的。

http://www.lryc.cn/news/90396.html

相关文章:

  • Redis主从架构、数据同步原理、全量同步、增量同步
  • 面了一个测试工程师要求月薪26K,总感觉他背了很多面试题...
  • 大数据简介
  • Elasticsearch数据库
  • Axure教程—表格(中继器)
  • Linux转HTTP代理服务器
  • CPLEX Studio 集成开发环境 (IDE) 介绍
  • 如何在Linux机器中测试存储/磁盘I/O性能?
  • ChatGPT国内免费使用方法【国内免费使用地址】
  • 常微分方程ODE和Neural Ordinary Differential Equations
  • C++ 编译过程(附简单实例)
  • ThingsBoard教程(五四):规则节点解析 Azure IoT Hub Node, RabbitMQ Node
  • 元素偏移量offset
  • 如何让自动化测试框架更自动化?
  • 无屏幕实现连接树莓派
  • 【Android】AMS(一)系统启动流程
  • FineBI6.0基础学习第一课 数据门户
  • 如何部署项目到Tomcat + 第一个Servlet程序
  • 牛客刷题(HTML-Day1)
  • 性能测试如何入门?熬夜7天整理出这一份3000字超全学习指南
  • 信息安全实践1.2(重放攻击)
  • 上海亚商投顾:沪指高开高走 地产股迎来久违反弹
  • Vim学习笔记【Ch02】
  • 《低代码指南》——低代码维格云能源行业解决方案
  • 【自制C++深度学习推理框架】Layer的设计思路
  • Rust每日一练(Leetday0011) 下一排列、有效括号、搜索旋转数组
  • STL --- 五. 函数对象 Function Objects
  • Java IO 流操作详解
  • Halcon 形状匹配参数详解
  • C++11强类型枚举