标签:copy 性能 写入 kafka 优势 磁盘 Kafka 数据
Kafka优势
-
kafka通常以集群的方式运行,实现高可用
-
topic(主题):在逻辑上对reorder(记录、日志)进行分组保存
kafka的分区
为了实现数据的高可用,比如将分区0的数据分散到不同的kafka节点,每一个分区都有一个broker作为leader和一个broker作为Follower
kafka的高性能实现
- 顺序读写
kafka的数据是保存在磁盘上以实现数据的持久化(缓存,默认168小时),但是kafka的特性依然是高吞吐率,通常情况下数据写入磁盘是会降低写入性能和读取性能的,但是kafka却基于数据的顺序写入技术,就算在普通的服务器上也很容易实现百万级的写入请求,其性能超过了大部分消息中间件,这种较强的写入性能使得kafka在大数据场景得到广泛的应用
- MMAP
机械磁盘的每次读写都会产生磁盘寻址--》数据写入的过程,而且寻址是一个"机械动作",其性能较低耗时较大,所以机械磁盘的随机IO性能较差,但是信息IO性能会有较大改善,为了优化写入性或者其他对象映射到进程的地址空间(虚拟内存),实现文件磁盘地址和进程虚拟地址空间中的一段虚拟地址的一一映射,MMAP可以显著提高I/O性能,尤其对于大文件的性能提升非常显著,用户对内存的所有操作都会由系统内核保存到磁盘上进行数据持久化
- 零copy
kafka服务器在响应客户端读取的时候,底层使用zeroCopy技术,不需要将数据从内核内存空间拷贝至用户进程空间,而且直接将数据通过内核空间构建响应请求,因此并没有执行数据从内核空间copy到进程空间的操作,从而节省copy数据的时间大幅提升性能
kafka总结
- 顺序写入
- MMAP
- 零copy
- 基于分区实现横向性能扩容(可动态扩容)
标签:copy,性能,写入,kafka,优势,磁盘,Kafka,数据 来源: https://www.cnblogs.com/dykstudy/p/16611607.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。