原文来自 Stanislav Kozlovski,曾在 Confluent 担任主任工程师
https://www.linkedin.com/posts/stanislavkozlovski_most-people...
大多数人认为云服务能帮他们省钱。
但 Kafka 并不是这样。❌
单单存储成本就比它本应该的高出 32 倍。
即使是一个极小的集群也要花费数十万美元!
没错,我们来算一下。
假设一个小型的 Kafka 集群由以下组成:
🔷 6个broker 🔷 35MB/s 的生产流量 🔷 数据保持7天(这是默认设置)
在这个配置下:
35MB/s 的生产流量会产生 35MB 的新数据。👌
然后Kafka将其复制到另外两个 broker,因此每秒共存储 105MB 的数据 - 35MB 的新数据和 70MB 的副本🤔
因此一天的数据量是 9.07TB(每天有 86400 秒,每秒 105MB)✅
7 天后,我们累积了63.5TB的集群存储需求 😳
为了在出现故障时给人反应时间,通常我们会保持磁盘的 50 %空间空闲。
☝️相信我,长周末里磁盘空间不足是你不想面对的事。
63.5 乘以 2 等于 127TB - 为了简单起见,我们四舍五入到 130TB。
这意味着每个 broker 需要 21.6TB 的磁盘容量。💡
现在我们来看看价格。
我们使用 AWS 的 EBS HDD - 经过吞吐量优化的 st1s。
请注意,st1s 的价格是 sc1s 的三倍,但我们需要额外的 IO 吞吐量。
st1s 的价格是每 GB 每月 0.045 美元的已 provision 的(而非使用中)存储空间。这意味着每 TB 每月 45 美元。💡
我们需要配置 130TB。
这就意味着:
🛑 每天 $188 😕
🛑 每月 $5850 😳
🛑 每年 $70,200 🤯
顺便说一句,这是最便宜的 AWS region - us-east。💡
欧洲法兰克福的价格是每 TB 每月 54 美元,这意味着每年 $84,240。😭
但是存储真的这么贵吗?
Hetzner 租给你一个 22TB 的硬盘只需……每月 30 美元。(编者注:Hetzner 是德国一家云服务商,主要提供裸机)
6 个这样的硬盘就能提供 132TB 的存储,总成本是:
🟩 每天$5.8
🟩 每月$180
🟩 每年$2160
而且是托管在德国。
AWS 的价格是 32.5 倍!❌
对于那些想在本地存储数据的德国人来说,AWS 的价格高了 39 倍。😥
🙅 那分层存储呢?
使用分层存储情况会好得多。
在 AWS 上每月大概花费 $19,200,这只是贵了 9 倍。不过分层存储有很多其他好处,所以这是一个值得考虑的权衡。
话虽如此,这个功能在 6 年后仍未正式发布……所以如果你还没有使用它,也是可以理解的。
最后呢?
价格贵了 39 倍。
我还没提到网络成本,这可能每年会再增加 $103,000 的花费。
编者按,作者只是从成本角度比较了云服务商托管 Kafka 和自托管的区别。但就像我们不能按照 iPhone 的零件价格来得出 iPhone 很贵的结论一样,云托管服务还提供了很多其他额外的价值。当然作者列出的计算公式还是可以作为参考。
💡 更多资讯,请关注 Bytebase 公号:Bytebase
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。