Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永远不能再恢复,亦或磁盘故障,则其上数据将丢失.而Kafka的设计目标之一即是提供数据持久化,同时对于分布式系统来说,尤其当集群规模上升到一定程度后,一台或者多台机器宕机的可能性大大提高,对Failover要求非常高.因此,Kafka从0.8开始提供High Availability机制.本文从Data Replic…
转载自 技术世界,原文链接 Kafka设计解析(二)- Kafka High Availability (上) Kafka从0.8版本开始提供High Availability机制,从而提高了系统可用性及数据持久性.本文从Data Replication和Leader Election两方面介绍了Kafka的HA机制. 目录 一.Kafka为何需要High Available 1. 为何需要Replication 2. 为何需要Leader Election 二.Kafka HA设计解析 1.…
转载自 技术世界,原文链接 Kafka设计解析(三)- Kafka High Availability (下) 摘要 本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Broker failover,Controller failover,Topic创建/删除,Broker启动,Follower从Leader fetch数据等详细处理过程.同时介绍了Kafka提供的与Replication相关的工具,如重新分配Partition等. 目录 一.Broker…
原创文章,同步首发自作者个人博客.转载请务必在文章开头处以超链接形式注明出处http://www.jasongj.com/kafka/high_throughput/ 摘要 上一篇文章<Kafka设计解析(五)- Kafka性能测试方法及Benchmark报告>从测试角度说明了Kafka的性能.本文从宏观架构层面和具体实现层面分析了Kafka如何实现高性能. 宏观架构层面 利用Partition实现并行处理 Partition提供并行处理的能力 Kafka是一个Pub-Sub的消息系统,无论是…
原创文章,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/kafka/kafka_stream/ Kafka Stream背景 Kafka Stream是什么 Kafka Stream是Apache Kafka从0.10版本引入的一个新Feature.它是提供了对存储于Kafka内的数据进行流式处理和分析的功能. Kafka Stream的特点如下: Kafka Stream提供了一个非常简单而轻量的Library,它可以非常方…
原创文章,首发自作者个人博客,转载请务必将下面这段话置于文章开头处. 本文转发自技术世界,原文链接 http://www.jasongj.com/kafka/transaction/ 写在前面的话 本文所有Kafka原理性的描述除特殊说明外均基于Kafka 1.0.0版本. 为什么要提供事务机制 Kafka事务机制的实现主要是为了支持 Exactly Once即正好一次语义 操作的原子性 有状态操作的可恢复性 Exactly Once <Kafka背景及架构介绍>一文中有说明Kafka在0.1…
转载自 huxihx,原文链接 Kafka副本管理—— 为何去掉replica.lag.max.messages参数 在Kafka设计解析(二)Kafka High Availability (上)文中的ACK前需要保证有多少个备份小节说到,如果一个Follower宕机,或者落后太多,Leader将把它从ISR(即in-sync Replica)中移除.这里所描述的“落后太多”指Follower复制的消息落后于Leader后的条数超过预定值(该值可在$KAFKA_HOME/config/serv…
转载自 技术世界,原文链接 Kafka设计解析(六)- Kafka高性能架构之道 本文从宏观架构层面和微观实现层面分析了Kafka如何实现高性能.包含Kafka如何利用Partition实现并行处理和提供水平扩展能力,如何通过ISR实现可用性和数据一致性的动态平衡,如何使用NIO和Linux的sendfile实现零拷贝以及如何通过顺序读写和数据压缩实现磁盘的高效利用. 摘要 上一篇文章<Kafka设计解析(五)Kafka性能测试方法及Benchmark报告>从测试角度说明了Kafka的性能.本…
Kafka剖析(一):Kafka背景及架构介绍 Kafka设计解析(二):Kafka High Availability (上) Kafka设计解析(三):Kafka High Availability (下) Kafka设计解析(四):Kafka Consumer解析 Kafka设计解析(五):Kafka Benchmark Kafka设计解析(六)- Kafka高性能关键技术解析 Kafka设计解析(七)- 流式计算的新贵Kafka Stream Kafka设计解析(八)- Kafka事务机…
本文转发自Jason’s Blog,原文链接 http://www.jasongj.com/2015/12/31/KafkaColumn5_kafka_benchmark 摘要 本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka的性能测试报告. 性能测试及集群监控工具 Kafka提供了非常多有用的工具,如Kafka设计解析(三)- Kafka High Avail…