kafka 效率优化


   数据分区存储

在topic内设置了多个分区,使kafka的消费者进程池能得到有序性保证和负载均衡,使得topic对应的消费组里的消费者们各自可以独享一个分区。如此的话,每个消费者是其消费的分区的唯一reader,在单个reader下当然保证了有序这件事。而且多个分区也使得负载可以比较平衡。

具体流程:
1. Producer根据指定的partition方法,将消息发布到指定topic的partition里面
2. kafka集群接收到Producer发过来的消息后,将其持久化到硬盘

3.Consumer从kafka集群pull数据,并控制获取消息的offset

 

 数据加密存储


启用消息压缩机制是一个良好的策略;压缩需要消耗少量的CPU资源,不过对于kafka而言,网络IO更应该需要考虑.可以将任何在网络上传输的消息都经过压缩。即消耗少部分CPU资源,节省较大量磁盘资源。kafka支持gzip/snappy等多种压缩方式。snappy压缩效率较快,gzip压缩率较高。

kafka 效率优化



   数据分区存储

在topic内设置了多个分区,使kafka的消费者进程池能得到有序性保证和负载均衡,使得topic对应的消费组里的消费者们各自可以独享一个分区。如此的话,每个消费者是其消费的分区的唯一reader,在单个reader下当然保证了有序这件事。而且多个分区也使得负载可以比较平衡。

具体流程:
1. Producer根据指定的partition方法,将消息发布到指定topic的partition里面
2. kafka集群接收到Producer发过来的消息后,将其持久化到硬盘

3.Consumer从kafka集群pull数据,并控制获取消息的offset

 

 数据加密存储

启用消息压缩机制是一个良好的策略;压缩需要消耗少量的CPU资源,不过对于kafka而言,网络IO更应该需要考虑.可以将任何在网络上传输的消息都经过压缩。即消耗少部分CPU资源,节省较大量磁盘资源。kafka支持gzip/snappy等多种压缩方式。snappy压缩效率较快,gzip压缩率较高。