kafka学习(4)副本

分区下的副本因子

        创建副本因子数,应该小于等于可用的broker数。

        副本因子操作的单位,是以分区partition为单位的。

        当有多个副本数时,kafka并不是将多个副本同时对外提供读取和写入。

        作用是让kafka读取和写入数据时高可靠。

        副本因子数是包含本身,同一个副本因子不能放在同一个broker中。

        在有多个副本的情况下,kafka会为同一个分区下的区分设置角色关系,一个leader和多个follower

        leader负责与外面的producer和consumer读写处理,而follower负责同步leader中的数据。

        如果某一个分区,有3个副本因子,就算其中一个挂掉,那么只会在剩下的两个中,选择一个leader,但不会在其他的broker中另起一个副本,因为在另一台broker启动新的分区副本,就需要数据传递,会占用网络IO,阻塞该broker正常的性能。如果所有的副本都挂了,生产者如果生产的数据是指定分区的话,将写入不成功。(写入不成功,就需要数据重复去写,直到生产环境中有一个分区副本启动起来了,会选举这个分区副本为leader,接收消息)

     ISR:in-sycn-replicas,kafka系统中,正在参与消息同步的分区副本。

     ACK:确认机制。

生产者推消息,使用同步的方式,每次推消息,都等待返回结果。也可以使用异步的方式,推完消息不等待结果,而是提供一个回调函数。

生产者推送消息返回结果的策略,又可以设置为:

1.所有分区副本,都确认接收到消息,返回结果。

2. 不需要确定,数据可能会丢失。比如leader挂掉了。如何处理这样的情况,需要再次发送数据。

3.只需要leader确认

4.部分确认

c33e95979aca7679fab85de365fd3bece68.jpg

3f9d1d14120dc9536b7cda636e5312cbd52.jpg

分区副本,通过一个后台线程ReplicaFetherThread,完成对leader数据的同步。

 

05fd216b7aae2084112c4b165729e3ffb82.jpg

问题:如何保证数据的一致性?

问题,如何保证数据丢失和数据重复?

数据丢失,可以再次发送数据,再次发送数据又可能造成数据重复。

 

 

 

转载于:https://my.oschina.net/xiaoyoung/blog/3037312

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.入门 1.1简介 1.2用例 1.3快速入门 1.4生态系统 1.5升级 2. API 2.1生产者API 2.2消费者API 2.3 Streams API 2.4连接API 2.5 AdminClient API 2.6旧版API 3.配置 3.1经纪人配置 3.2主题配置 3.3制片人配置 3.4消费者配置 3.4.1新的消费者配置 3.4.2旧消费者配置 3.5 Kafka Connect配置 3.6 Kafka Streams配置 3.7 AdminClient配置 4.设计 4.1动机 4.2持久性 4.3效率 4.4制片人 4.5消费者 4.6消息传递语义 4.7复制 4。4日志压缩 4.9配额 5.实施 5.1网络层 5.2消息 5.3消息格式 5。4日志 5.5分配 6.运营 6.1基本卡夫卡业务 添加和删​​除主题 修改主题 优雅的关机 平衡领导力 检查消费者的位置 在群集之间镜像数据 扩展您的群集 退役经纪人 增加复制因子 6.2数据中心 6.3重要配置 重要客户端配置 生产服务器配置 6.4 Java版本 6.5硬件和操作系统 OS 磁盘和文件系统 应用程序与OS Flush Management Linux Flush Behavior Ext4笔记 6.6监测 6.7 ZooKeeper 稳定的版本 操作化 7.安全 7.1安全概述 7.2使用SSL进行加密和身份验证 7.3使用SASL进行身份验证 7.4授权和ACL 7.5在正在运行的群集中加入安全功能 7.6 ZooKeeper认证 新集群 迁移群集 迁移ZooKeeper Ensemble 8. KAFKA CONNECT 8.1概述 8.2用户指南 运行Kafka Connect 配置连接器 转换 REST API 8.3连接器开发指南 9. KAFKA STREAMS 9.1使用Streams应用程序 9.2编写自己的Streams应用程序 9.3开发者手册 9.4核心概念 9.5架构 9.6升级指南

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值