标签:集群规模 磁盘 均衡 消费者 str 能力 空间 mil 应用程序
生产者客户端的性能直接受到服务器端磁盘吞吐量的影响。
生产者生成的消息必须被提交到服务器保存,大多数客户端在发送消息后会一直等待,直到至少一个服务器确认消息已经成功提交为止。
磁盘写入速度越快,生成消息的延迟就越低。
需要多大的磁盘容量取决于需要保留的消息数量,也需要考虑集群复制策略的影响。
通过让主题拥有多个分区,集群的总流量可以被均衡到整个集群。
消费者一般从分区尾部读取消息,如果有生产者存在,就紧跟在生产者后面。这种情况下,消费者读取的消息会直接存放在系统的页面缓存里,这比从磁盘上重新读取要快得多。
运行kafka的JVM不需要太大的内存,剩余的系统内存可以用作页面缓存,或者用来缓存正在使用中的日志片段。
所以,不建议把kafka同其他重要的应用程序部署在一起,它们需要共享页面缓存,最终会降低kafka消费者的性能。
网络吞吐量决定了kafka能够处理的最大数据流量。
网络吞吐量和磁盘存储是制约kafka扩展规模的主要因素。
kafka支持多个消费者,造成流入和流出的网络流量不平衡,从而让情况变得更加复杂。集群复制和镜像也会占用网络流量。如果网络接口出现饱和,那么集群的复制出现延时就在所难免。
与磁盘和内存相比,kafka对计算处理能力的要求相对较低,不过在一定程度上还是会影响整体的性能。
客户端为了优化网络和磁盘空间,会对消息进行压缩。服务器需要对消息进行批量解压,设置偏移量,然后重新进行批量压缩,再保存到磁盘上。这就是kafka对计算处理能力有所要求的地方。
标签:集群规模 磁盘 均衡 消费者 str 能力 空间 mil 应用程序
原文地址:https://www.cnblogs.com/EnzoDin/p/12591487.html