-
kafka特点
查看全部 -
kafka特点
查看全部 -
kafka消息结构
查看全部 -
kafka 自带测试命令
查看全部 -
基本结构 单个
查看全部 -
基本结构啊
查看全部 -
Test查看全部
-
Kafka查看全部
-
kafka消息结构
查看全部 -
基本概念3
查看全部 -
基本概念2
查看全部 -
基本概念1
查看全部 -
零拷贝简介
1)网络传输持久性日志块
2)Java Nio channel.transforTo()方法
3)Linux sendfile系统调用
文件传输到网络的公共数据路径
1)操作系统将数据从磁盘读入到内核空间的页缓存
2)应用程序将数据从内核空间读入到用户空间缓存中
3)应用程序将数据写回到内核空间到socket缓存中
4)操作系统将数据从socket缓冲区复制到网卡缓冲区,以便将数据经网络发出
零拷贝过程
1)操作系统将数据从磁盘读入到内核空间的页缓存
2)将数据的位置和长度的信息的描述符增加至内核空间(socket缓冲区)
3)操作系统将数据从内核拷贝到网卡缓冲区,以便将数据经网络发出
查看全部 -
kafka消息事务
为什么要支持事务
1)满足“读取-处理-写入”模式
2)流处理需求的不断增强
3)不准确的数据处理的容忍度
数据传输的事务定义
1)最多一次:消息不会被重复发送,最多被传输一次,但也有可能一次不传输
2)最少一次:消息不会被漏发送,最少被传输一次,但也有可能被重复传输
3)精确的一次(Exactly once):不会漏传输也不会重复传输,每个消息都被传输一次而且仅仅被传输一次,这是大家所期望的
事务保证
1)内部重试问题:Procedure幂等处理
2)多分区原子写入
事务保证-避免僵尸实例
1)每个事务Producer分配一个transactional.id,在进程重新启动时能够识别相同的Producer实例
2)kafka增加了一个与transactional.id相关的epoch,存储每个transactional.id内部元数据
3)一旦epoch被触发,任何具有相同的transactional.id和更旧的epoch的Producer被视为僵尸,kafka会拒绝来自这些Procedure的后续事务性写入
查看全部 -
kafka应用场景
1)消息队列
2)行为跟踪
3)元信息监控
4)日志收集
5)流处理
6)事件源
7)持久性日志(commit log)
查看全部
举报