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压缩率较高。