挂载 机械硬盘_揭秘Kafka的硬盘设计方案,快速完成PB级数据扩容需求!

64fb3b09c6d4d659f1c789fe157645d6.png

导语:疫情期间,腾讯医疗为全国人民提供了及时精准的疫情信息服务。腾讯云kafka作为腾讯医疗大数据架构中的关键组件。在面对业务短时间内成倍的数据存储需求的情况下,如何快速响应、快速扩容以支持业务的稳定运行的呢? 本文将从Kafka集群底层物理机层面硬盘的设计方案,来讲解面对不同的业务需求场景,如何选择好合适的磁盘方案。(编辑:中间件小Q妹)

01 医疗资讯场景

腾讯医疗的使用场景是典型的日志分析系统。Kafka作为消息中间件,起到了数据聚合、流量削峰的作用。如下图所示 :

           6f3521835b987578a5a107d76a21aed2.png

日志分析系统架构 在医疗的实例中,Kafka承载着峰值GB/s的数据吞吐和大量的数据存储压力。这对底层的硬盘性能提出了很大的要求。比如吞吐/存储能力、快速扩缩容能力等。 所以一般在硬盘方案设计的时候需要综合考虑下列因素:
  • 大容量存储
  • 高吞吐量的IO能力
  • 快速扩缩容能力
  • 数据的安全性
  • 低冗余的存储

组建Kafka集群,常见的硬盘构建主要包括:单硬盘读写、多目录读写、硬盘阵列(RAID0,RAID10)、逻辑卷(LVM)等方案。下面将深入分析各个方案的优劣势,供读者选择参考。

1. 硬盘方案概述

硬盘存储方案的设计使用的是现在成熟的工业化方案,并没有特殊的创新。硬盘存储方案的选择更多的是从Apache Kafka产品的视角出发,考虑哪种方案更贴合使用者的业务需求。

2. 选择硬盘介质

工业界的硬盘市场基本是机械硬盘和固态硬盘(SSD)的天下。在超大规模的存储容量场景下,SSD的价格依旧是它的硬伤。对于Kafka这种高IO的应用,固态硬盘的损坏率和使用寿命是一个很大的问题。所以,机械硬盘以其便宜的价格及大容量成为了不二之选。

机械硬盘需要解决的两个问题是:如何提高硬盘IO能力;在硬盘损坏成为一个常态的情况下,又该如何保持业务系统的稳定。我们先从这两个方面来分析下。

3. 提高硬盘IO能力

一般使用以下指标衡量硬盘的性能:
  • IOPS:每秒读/写次数,单位为次(计数)。存储设备的底层驱动类型决定了不同的 IOPS。
  • 吞吐量:每秒的读写数据量,单位为MB/s。
  • 时延:I/O 操作的发送时间到接收确认所经过的时间,单位为秒。

Kafka程序本身通过顺序读写、Page Cache、零拷贝等方案,从应用层面极大的利用了硬盘的性能。但是,一旦硬盘吞吐能力不足,Kafka集群提供服务的能力将大打折扣。因为Kafka的使用场景和运行方式,最关注的性能指标是吞吐量。

在自建集群的场景下,用独立主机挂载单块硬盘的方式是最常用的方案。在单硬盘读写的基础上,提高硬盘吞吐能力的方案主要有如下几种:
  • 单硬盘读写
  • Kafka的多目录读写
  • RAID硬盘阵列方案
  • Lo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值