Kafka快速扫描

devtools/2024/12/24 21:12:26/

Architecture

系统间解耦,异步通信,削峰填谷
Topic 消息主题,用于存储消息
Partition 分区,通过扩大分区,可以提高存储量
Broker 部署Kafka服务的设备
Leader kafka主分区
Follwer kafka从分区
高性能之道:
读:零拷贝技术,sendfile
写:顺序写+ 内存映射文件,mmap

Config

Producer
ack&&retry机制
ack配置参数
0表示生产者只要将消息发出就认为发送成功,不会等待任何回复,性能最高
1表示生产者发出消息后,会等待Leader回复,收到回复后认为发送成功
all表示生产者发出消息后,会等待Leader和所有Follwer回复,才认为发送成功,最可靠
retry 发送失败重试
idempotence 幂等性配置
transaction-id 事务id配置,确保事务id唯一
batch-size 批处理大小
buffer-memory 缓冲区内存大小
key-serializer key 序列化
value-serializer value 序列化
Consumer
group-id 组id
auto-offset-reset 配置消费位置
earliest 表示从最早的位置开始消费
latest 表示从最新的下一个偏移位置消费
none 根据最近一次提交位置消费,没有提交位报错
enable-auto-commit 是否开启自动提交
auto-commit-interval 自动提交间隔
transaction-isolation-level 配置事务隔离级别
key-deserializer key 反序列化
value-deserializer value 反序列化

HW & LE

早期使用HW截断机制可能会造成丢失数据和数据不一致问题
0.11版本以后使用LE,不会直接截断,会根据leader返回的版本进行判断是否截断,从而避免了数据丢失和不一致问题


http://www.ppmy.cn/devtools/145079.html

相关文章

力扣-图论-17【算法学习day.67】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非…

将多个 k8s yaml 配置文件合并为一个文件

如下bash脚本实现功能 “将多个k8s的yaml 配置文件” 合并为一个 yaml,使用 --- 分割文件配置。 创建文件 merge_yaml.sh ,内容如下: #!/bin/bash# 默认参数 input_patterns() # 匹配的文件模式数组 output_file"combined.yaml"…

基于Spring Boot的远程教育网站

一、系统背景与意义 随着互联网技术的飞速发展和普及,远程教育已成为现代教育体系中的重要组成部分。它打破了时间和空间的限制,让学习者可以随时随地进行学习。基于Spring Boot的远程教育网站正是为了满足这一需求而设计的,它利用互联网技术…

Android Java Ubuntu系统如何编译出 libopencv_java4.so

Cmake: cd ~ wget https://github.com/Kitware/CMake/releases/download/v3.30.3/cmake-3.30.3-linux-x86_64.tar.gztar -xzvf cmake-3.30.3-linux-x86_64.tar.gz sudo ln -sf $(pwd)/cmake-3.30.3-linux-x86_64/bin/* /usr/bin/cmake --versionAndroid NDK: wget https://…

Oracle创建逻辑目录

Oracle 在执行逻辑备份及还原时,需要用到逻辑目录。 本文就来简单介绍一下逻辑目录相关的操作,希望对大家有所帮助。 ‌1.登录到Oracle数据库‌ 使用具有足够权限的数据库用户登录到Oracle数据库。通常,这需要是管理员账号,如SYS…

深度学习实战之超分辨率算法(tensorflow)——ESPCN

espcn原理算法请参考上一篇论文,这里主要给实现。 数据集如下:尺寸相等即可 针对数据集,生成样本代码preeate_data.py import imageio from scipy import misc, ndimage import numpy as np import imghdr import shutil import os import…

如何通过HTTP API新建Collection

本文介绍如何通过HTTP API创建一个新的Collection。 前提条件 已创建Cluster:创建Cluster。 已获得API-KEY:API-KEY管理。 Method与URL HTTP POST https://{Endpoint}/v1/collections 使用示例 说明 需要使用您的api-key替换示例中的YOUR_API_KEY、…

Oracle筑基篇-调度算法-LRU的引入

常见的调度算法 图1 调度算法思维导图 一、LRU算法的典型使用场景 1. 操作系统中的页面置换 什么时候用到页面置换算法呢? 当CPU发出指令需要访问某个地址时,若该地址在TLB(Translation Lookaside Buffer,快表)或页…