Kafka-硬件的选择
Kafka-硬件的选择
磁盘吞吐量(重要,影响生产者)
生产者客户端的性能直接受到服务器端磁盘吞吐量的影响。
生产者生成的消息必须被提交到服务器保存,大多数客户端在发送消息后会一直等待,直到至少一个服务器确认消息已经成功提交为止。
磁盘写入速度越快,生成消息的延迟就越低。
磁盘容量(制约集群规模)
需要多大的磁盘容量取决于需要保留的消息数量,也需要考虑集群复制策略的影响。
通过让主题拥有多个分区,集群的总流量可以被均衡到整个集群。
内存(重要,影响消费者)
消费者一般从分区尾部读取消息,如果有生产者存在,就紧跟在生产者后面。这种情况下,消费者读取的消息会直接存放在系统的页面缓存里,这比从磁盘上重新读取要快得多。
运行kafka的JVM不需要太大的内存,剩余的系统内存可以用作页面缓存,或者用来缓存正在使用中的日志片段。
所以,不建议把kafka同其他重要的应用程序部署在一起,它们需要共享页面缓存,最终会降低kafka消费者的性能。
网络(制约集群规模)
网络吞吐量决定了kafka能够处理的最大数据流量。
网络吞吐量和磁盘存储是制约kafka扩展规模的主要因素。
kafka支持多个消费者,造成流入和流出的网络流量不平衡,从而让情况变得更加复杂。集群复制和镜像也会占用网络流量。如果网络接口出现饱和,那么集群的复制出现延时就在所难免。
CPU(不重要)
与磁盘和内存相比,kafka对计算处理能力的要求相对较低,不过在一定程度上还是会影响整体的性能。
客户端为了优化网络和磁盘空间,会对消息进行压缩。服务器需要对消息进行批量解压,设置偏移量,然后重新进行批量压缩,再保存到磁盘上。这就是kafka对计算处理能力有所要求的地方。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2019-03-29 Sqoop-将Hive ORC表导出到MySQL(全量、更新)