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

08 集群参数配置(下)

Kafka Broker不需要太大的堆内存?

Kafka Broker不需要太大的堆内存?应该把内存留给页缓存使用?

kafka刷盘时宕机

kafka认为写入成功是指写入页缓存成功还是数据刷到磁盘成功算成功呢?还是上次刷盘宕机失败的问题,页缓存的数据如果刷盘失败,是不是就丢了?这个异常会不会响应给生产者让其重发呢?

写入到页缓存即认为成功。如果在flush之前机器就宕机了,的确这条数据在broker上就算丢失了。producer端表现如何取决于acks的设定。如果是acks=1而恰恰是leader broker在flush前宕机,那么的确有可能消息就丢失了,而且producer端不会重发——因为它认为是成功了。

MySQL两阶段提交

什么是页缓存

堆是Jvm使用的内存,缓存页,是操作系统使用的内存。比如写文件,一般就先写到操作系统使用的内存(缓存页),一定时间在批量写到磁盘。

页缓存属于磁盘缓存(Disk cache)的一种,主要是为了改善系统性能。重复访问磁盘上的磁盘块是常见的操作,把它们保存在内存中可以避免昂贵的磁盘IO操作。

既然叫页缓存,它是根据页(page)来组织的内存结构。每一页包含了很多磁盘上的块数据。Linux使用Radix树实现页缓存,主要是加速特定页的查找速度。另外一般使用LRU策略来淘汰过期页数据。总之它是一个完全由内核来管理的磁盘缓存,用户应用程序通常是无感知的。

如果要详细了解page cache,可以参见《Understanding the Linux Kernel》一书的第15章

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

相关文章:

  • mac文件为什么不能拖进U盘?
  • RK3568的CAN驱动适配
  • Opengl之立方体贴图
  • EF Core报错:Error Number:-2146893019
  • QT之可自由折叠和展开的布局
  • javascript二维数组(7)数组指定元素求和
  • 网络安全——黑客自学(笔记)
  • Docker 安装 Elasticsearch7.16.x
  • springmvc-controller视图层配置SpringMVC处理请求的流程
  • 三模块七电平级联H桥整流器电压平衡控制策略Simulink仿真
  • 【window10】Dart+Android Studio+Flutter安装及运行
  • 【C++】运算符重载 ⑩ ( 下标 [] 运算符重载 | 函数原型 int operator[](int i) | 完整代码示例 )
  • ROS机械臂开发-开发环境搭建【一】
  • 深度思考rpc框架面经之五:rpc限流:rpc事务:tps测试
  • [AIGC] Java序列化利器 gson
  • VMware 虚拟机删除+重建
  • 环面上 FHE 的快速自举:LUT/Automata Blind Rotate
  • VScode配置文件launch.json 和 tasks.json配置项详细说明
  • DNSlog 注入简单笔记
  • HDLbits: Dualedge
  • 网络安全_黑客(自学)
  • AI 大框架分析基于python之TensorFlow(归一化处理,多类别分类的概率)
  • C++day01(QT简介、C++)
  • Web server failed to start. Port 8080 was already in use
  • new和malloc的区别
  • python:openpyxl 读取 Excel文件,显示在 wx.grid 表格中
  • 12P2532X152 KJ3222X1-BA1 CE4003S2B1 EMERSON DELTAV
  • P1014 [NOIP1999 普及组] Cantor 表
  • JMeter性能分析实战一:日常登录接口
  • 内外网结合的多服务发布架构