美文网首页
1. Kafka 简介

1. Kafka 简介

作者: GongMeng | 来源:发表于2018-12-11 15:47 被阅读0次

    1. 设计理念概述

    Kafka和HBase的设计理念相同, 让整个消息队列系统尽可能的简单. 在这个基础上, 放弃了全局信息一致性, 放弃了维护全局唯一的读取进度的语义等等很多东西. 换来的是单点单CPU每秒2万条1KB message的吞吐量.


    基本结构

    上图是最常见的一个对kafka的描述图, kafka把自己的worker抽象成多个broker. 和其它的消息队列系统类似, 消息队列被描述成一个topic.

    Kakfa的topic在底层是分散在多个broker上的parition, 每个parition物理上是文件系统中连续写的一系列的文件.

    每个parition可以被多个producer写, 但同时只能被一个consumer读取.

    这样保证了读写过程的都是顺序的批量读, 批量写. 结合文件系统, 把磁盘的性能拉倒极致, 在文件系统blocksize稍微大一点的情况下, 轻松可以拉到800M/s的吞吐.

    Kafka为了能够把吞吐量拉高, 使用了sendfile()系统调用, 直接走内核态来写数据, 这样不过用户态可以少很多overhead. 数据在serializer之后一直以二进制流的形态在kafka系统中流动. 类似的优化后面在阅读代码中会看到很多.

    Kafka借助zookeeper来维护整个拓扑结构和配置的一致性, 早期kafka依赖ZK来维护读进度, 在最新版本中这个工作由kafka的节点自己来承担.

    2. 规划内容

    • Producer概要
    • Consumer 新老API 概要
    • Coordinator / Consumer Group 概要
    • Cluster / Storage 概要
    • Controller 概要

    相关文章

      网友评论

          本文标题:1. Kafka 简介

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