kafka 效率优化
2015-06-02 22:59
232 查看
数据分区存储
在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压缩率较高。
在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压缩率较高。
相关文章推荐
- F5补丁修复及几点命令
- android学习路线
- Depth of binary tree
- 【记录】对话框的学习
- SVN服务器搭建和使用(二)
- SpringMVC 控制器向视图传值的方式
- 怎样登录和退出Linux系统----Linux学习笔记(1)
- CSS3新增属性选择器: [attribute*=value] 、[attribute^=value] 和[attribute$=value]
- 明晰C内存分配的五种方法的区别
- 官方教程Stealth学习笔记(一)(持续更新)
- Android 记住用户名和密码
- Apple Pay是什么?能否描述一下如何在应用中使用Apple Pay?
- 黑马程序员——Java基础---语法<三>
- 字符串的处理和算法分析
- RandomAccessFile随机访问文件的读取和写入
- Android客户端与本地服务器Socket通信
- shell中计算器的设计
- SVN服务器搭建和使用(一)
- 网站的UV和PV详解
- java基础(三)