美文网首页
第1章 初识Kafka

第1章 初识Kafka

作者: 主君_05c4 | 来源:发表于2019-01-24 20:06 被阅读0次

数据对于企业发展变得越来越重要,为业务决策提供依据,企业应用产生各
种数据,包括系统运行日志、度量指标、响应消息、用户活动记录等,数据源多种多样,集成多种数据源,并且把数据快速移动到数据分析平台,是做好数据分析的前提。以数据为驱动的企业,数据管道是关键组件,如何移动数据,与数据本身一样重要。

1.1 发布订阅

数据不是由生产者直接发送给消费者,生产者(发布者)对消息分类,消费者(订阅者)订阅它们,以便接收特定类型数据,解耦发布者与订阅者。
演进过程:


未命名文件-3.png

1.2 Kafka

通用的发布与订阅消息系统,称为“分布式提交日至“和“分布式流平台”;文件系统和数据库提交日志提供所有日志的持久化纪录,重放日志以重建系统状态,Kafka数据也是按一定顺序持久化,可按需读取。
提供数据故障保护、性能伸缩

1.2.1 消息和批次

消息,由字节数组组成,可以有一个可选的元数据,即key,key也是字节数组,可通过key控制消息写入不同分区,如为key生成一致性hash值,使用该值按主题分区数取模,为消息选定分区。
批次,消息按批次写入broker,同一个批次写入同一主题同一分区,主要解决网络传输问题,单个消息穿行于网络会导致大量网络开销,所以消息分批次、压缩传输,提升数据传输和存储能力,后果是单个消息时延增长,且需要更多计算,需要平衡吞吐量与时延。

1.2.2 模式shema

消息只是单纯字节数组,可通过json xml作为消息格式,易读易用,缺点缺乏强类型处理能力,版本间兼容性不好,另avro,序列化框架,紧凑的序列化格式,消息与模式分开,模式变化,无需生成代码,支持强类型和模式进化,版本向前兼容,也向后兼容。
数据格式一致性消除了消息读写操作间的耦合,读写操作耦合,订阅者需升级才能同时处理新旧两种数据格式,订阅者升级后,才能升级发布者。定义良好的消息模式,放入公共仓库,有助于理解kafka消息格式。

1.2.3 主题和分区

消息通过主题分类,类似表或者文件夹,下面包含若干分区,一个分区就是一个提交日志,消息追加入分区,先入先出,无法保证整个主题消息有序,只保证单个分区消息有序,通过分区以及分区副本实现了数据冗余与伸缩性,不同副本在不通服务器。

1.2.4 生产者和消费者

1.2.5 broker和集群

1.2.6 多集群

相关文章

  • Kafka核心API——Stream API

    Kafka Stream概念及初识高层架构图 Kafka Stream是Apache Kafka从0.10版本引入...

  • 第1章 初识Kafka

    数据对于企业发展变得越来越重要,为业务决策提供依据,企业应用产生各种数据,包括系统运行日志、度量指标、响应消息、用...

  • 入门 Kafka必看

    初识 Kafka 什么是 Kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区...

  • 真的,Kafka 入门一篇文章就够了

    初识 Kafka 什么是 Kafka Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区...

  • 初识kafka

    大部分内容是翻译至Kafka The Definitive Guide,有翻译不好的地方请见谅,因为理解问题翻译错...

  • 初识kafka

    什么是kafka? 官网的解释是,Kafka是一个分布式的流计算的平台。它提供了三个主要的功能:1、实现了发布和订...

  • 初识Kafka

    首先访问Kafka的官网 http://kafka.apache.org 点击左下角的Download 我们下载 ...

  • 初识Kafka

    开篇 在微服务的架构设计中我们一般都会考虑服务之间互相调用的问题,如何做到更好的解耦设计。在秒杀的系统中会使用异步...

  • Kafka初识

    问题一 写出增加Kafka的Partition命令 问题二 列出配置Kafka删除日志的配置参数 问题三 Kafk...

  • 初识Kafka

    Kafka是由scala和java编写的一款高吞吐量分布式发布订阅消息系统。 应用场景: 异步处理 应用解耦 流量...

网友评论

      本文标题:第1章 初识Kafka

      本文链接:https://www.haomeiwen.com/subject/wgmujqtx.html