apache-kafka - 旧数据的顺序 I/O 性能
问题描述
我正在学习顺序 I/O 和 kafka 的总体工作方式。根据我的理解 - 所有数据按顺序写入硬盘(作为日志),因此 - 硬盘臂总是靠近实际数据,它不必移动很多(因为我们有小/没有寻道时间,与写时间相同)。
但是,如果我们在 HDD 中有很多 kafka 数据(具有最大允许保留策略)并且新的消费者组开始获取这些数据怎么办:据我所知 - 新的消费者组将从 0 偏移量开始读取数据,而这个 0 偏移量可以在与硬盘完全相反的一侧(随着时间的推移 - 硬盘臂将缓慢移动)。因此,在这种情况下,HDD arm 必须每次来回走动,因为旧消费者将读取实际数据,而新消费者组将读取旧数据。它不会导致相反的效果,因此顺序 I/O 会减慢整个集群(至少,直到新的消费者组读取所有数据)?
解决方案
推荐阅读
- r - 如何在 ROCit 中计算 ROC?
- python - 打开新网页标签后无法抓取表格
- c# - 如何使用 Linq 加入两个实体
- ios - 无法在 TestFlight Xamarin 表单中加载 http URL 图像
- php - 解码 JSON 返回 NULL
- deep-learning - 自动编码器可以在不重新训练的情况下编码新向量吗?
- ios - 重试 FaceID 后,我很快就会看到解锁的应用程序内容
- java - JPARepositoryInterfaces 中如何实现自定义方法?
- javascript - RewriteEngine (.htaccess) 是否有可能看似不删除标题?
- python-3.x - 断点会话期间的沙盒代码评估