在K8S上运行Kafka合适吗?会遇到哪些陷阱?( 二 )
Kafka brokers对CPU很友好。TLS可能会引入一些开销。如果Kafka客户端使用加密,则需要更多CPU,但这不会影响brokers。
2、内存
Kafka brokers是内存消耗大户。JVM堆通常可以限制为4-5 GB,但由于Kafka大量使用页面缓存,因此还需要足够的系统内存。在Kubernetes中,可以相应地设置容器资源限制和请求。
3、存储
容器中的存储是短暂的——重启后数据将丢失。可以对Kafka数据使用emptyDir卷,这将产生相同的效果:brokers的数据将在停机后丢失。您的消息在其他broker上作为副本还是可以使用的。因此,重新启动后,失败的broker必须得复制所有的数据,这可能是一个耗时过程。
这就是你应该使用持久存储的原因。使用XFS或ext4的非本地持久性块存储更合适。我警告你:不要使用NFS。NFS v3和v4都不会起作用。
简而言之,Kafka broker会因为NFS“愚蠢重命名”问题而无法删除数据目录,自行终止。如果你仍然不相信我,那么请仔细阅读这篇博文[1]。存储必须是非本地的,以便Kubernetes在重新启动或重新定位时可以更灵活地选择另一个节点。
推荐阅读
- 主机掌机类游戏|PCSX2模拟器能在PC上运行所有PS2游戏了,除了某个奇葩
- 三国杀|Win 11也能运行安卓应用,流畅度秒杀模拟器,不信你来试试?
- t1|vivo T1游戏测评:热门手游轻松运行,体验流畅无卡顿
- 地下城与勇士|《地下城与勇士》可以用低配置去运行,还有那庞大的世界观剧情
- switch|Switch上的土星模拟器被改装升级,几乎所有大作都能运行
- switch|开发人员保证《暗黑破坏神2》NS版运行很流畅
- 使命召唤|运行流畅玩着舒服,多年前的3A经典大作,值得收藏游玩
- playstation5|PS5《古墓丽影:暗影》获更新 支持4K+60FPS运行
- steam|受反作弊影响 Steam Deck暂无法运行部分主流游戏
- 精灵宝可梦|《宝可梦大集结》体验:画面很好运行流畅 但就是不好玩