怎么做卡商网站,怎么建设商城网站,沈阳网站开发招聘,潼关县住房和城乡建设局网站Kafka Broker不需要太大的堆内存#xff1f;
Kafka Broker不需要太大的堆内存#xff1f;应该把内存留给页缓存使用#xff1f;
kafka刷盘时宕机
kafka认为写入成功是指写入页缓存成功还是数据刷到磁盘成功算成功呢#xff1f;还是上次刷盘宕机失败的问题#xff0c;页…Kafka Broker不需要太大的堆内存
Kafka Broker不需要太大的堆内存应该把内存留给页缓存使用
kafka刷盘时宕机
kafka认为写入成功是指写入页缓存成功还是数据刷到磁盘成功算成功呢还是上次刷盘宕机失败的问题页缓存的数据如果刷盘失败是不是就丢了这个异常会不会响应给生产者让其重发呢
写入到页缓存即认为成功。如果在flush之前机器就宕机了的确这条数据在broker上就算丢失了。producer端表现如何取决于acks的设定。如果是acks1而恰恰是leader broker在flush前宕机那么的确有可能消息就丢失了而且producer端不会重发——因为它认为是成功了。
MySQL两阶段提交
什么是页缓存
堆是Jvm使用的内存缓存页是操作系统使用的内存。比如写文件一般就先写到操作系统使用的内存缓存页一定时间在批量写到磁盘。
页缓存属于磁盘缓存Disk cache的一种主要是为了改善系统性能。重复访问磁盘上的磁盘块是常见的操作把它们保存在内存中可以避免昂贵的磁盘IO操作。
既然叫页缓存它是根据页page来组织的内存结构。每一页包含了很多磁盘上的块数据。Linux使用Radix树实现页缓存主要是加速特定页的查找速度。另外一般使用LRU策略来淘汰过期页数据。总之它是一个完全由内核来管理的磁盘缓存用户应用程序通常是无感知的。
如果要详细了解page cache可以参见《Understanding the Linux Kernel》一书的第15章