Kafka之数据存储
技术文章 / 2018-02-01

本文主要讲述以下两部分内容: kafka数据的存储方式; kafka如何通过offset查找message。 1.前言 写介绍kafka的几个重要概念(可以参考之前的博文Kafka的简单介绍): Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群; Topic:一类消息,例如page view日志、click日志等都可以以topic…

Kafka消息生成,消费,存储机制
技术文章 / 2018-02-01

原文:https://my.oschina.net/manmao/blog/847397 摘要: http://kafka.apache.org/documentation/#semantics 设计文档 http://kafka.apache.org/documentation/#design  Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zooke…

Confluent:在Kafka上飞驰的数据交换者
技术文章 / 2018-01-20

今天我们要讲的大数据公司叫作Confluent,这个公司是前LinkedIn员工出来后联合创办的,而创业的基础是一款叫作Apache Kafka的开源软件。 Confluen联合创始人Jun Rao即将在QCon北京2018分享Apache Kafka的前世今生和未来的相关话题。 在整个Hadoop的生态圈里,Kafka是一款非常特殊的软件。它由LinkedIn于2011年开源,并在2012年底从…

Kafka设计解析(八)- Kafka事务机制与Exactly Once语义实现原理
技术文章 / 2018-01-19

写在前面的话 本文所有Kafka原理性的描述除特殊说明外均基于Kafka 1.0.0版本。 为什么要提供事务机制 Kafka事务机制的实现主要是为了支持 Exactly Once即正好一次语义 操作的原子性 有状态操作的可恢复性 Exactly Once 《Kafka背景及架构介绍》一文中有说明Kafka在0.11.0.0之前的版本中只支持At Least Once和At Most Once语义,…

Kafka设计解析(六)- Kafka高性能关键技术解析
技术文章 / 2018-01-19

宏观架构层面 利用Partition实现并行处理 Partition提供并行处理的能力 Kafka是一个Pub-Sub的消息系统,无论是发布还是订阅,都须指定Topic。如《Kafka设计解析(一)- Kafka背景及架构介绍》一文所述,Topic只是一个逻辑的概念。每个Topic都包含一个或多个Partition,不同Partition可位于不同节点。同时Partition在物理上对应一个本地文…

Kafka设计解析(五):Kafka Benchmark
技术文章 / 2018-01-19

性能测试及集群监控工具 Kafka提供了非常多有用的工具,如Kafka设计解析(三)- Kafka High Availability (下)中提到的运维类工具——Partition Reassign Tool,Preferred Replica Leader Election Tool,Replica Verification Tool,State Change Log Merge Tool。本…

Kafka设计解析(四):Kafka Consumer解析
技术文章 / 2018-01-19

High Level Consumer 很多时候,客户程序只是希望从Kafka读取数据,不太关心消息offset的处理。同时也希望提供一些语义,例如同一条消息只被某一个Consumer消费(单播)或被所有Consumer消费(广播)。因此,Kafka High Level Consumer提供了一个从Kafka消费数据的高层抽象,从而屏蔽掉其中的细节并提供丰富的语义。 Consumer Group…

Kafka设计解析(三):Kafka High Availability (下)
技术文章 / 2018-01-19

Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计、实现、应用场景、性能等方面深度解析Kafka。 本文在上篇文章基础上,更加深入讲解了…

Kafka设计解析(二):Kafka High Availability (上)
技术文章 / 2018-01-19

Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务。若该Broker永远不能再恢复,亦或磁盘故障,则其上数据将丢失。而Kafka的设计目标之一即是提供数据持久化,同时对于分布式系统来说,尤其当集群规模上升到一定程度后,一台或者多台机器宕机的可能性大大提高,对Failover要求非常高。…

Kafka剖析(一):Kafka背景及架构介绍
技术文章 / 2018-01-19

Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。InfoQ一直在紧密关注Kafka的应用以及发展,“Kafka剖析”专栏将会从架构设计、实现、应用场景、性能等方面深度解析Kafka。 背景介绍 Kafka创建背景 Kaf…