当前位置:首页 > 开发 > 互联网 > 正文

003.Kafka基本概念

发表于: 2015-07-19   作者:nweiren   来源:转载   浏览:
摘要: Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic:             消息源(Message)的分类。 Partition:             Topic物理上的分组,一
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。
Topic:
            消息源(Message)的分类。
Partition:
            Topic物理上的分组,一个Topic可以有多个Partition;
            每个Partition存储为append log文件;
            每个Partition中的Message是有序的,每个Partition存储Topic中的一部分Message;
            Partition中的每个Message都被分配一个有序ID(offset偏移量);
Message:
            消息,最基本单位,有Producer产生并发送到Topic中;
            通过分区被存储到不同的Partition中;
            Message的3个属性:
                    offset                    偏移量long类型;
                    MessageSize        消息大小int32类型;
                    data                      消息内容;
Producer:
            Message的生产者,发送Message到Topic中;
            决定Message被分配存储到哪个Partition中;
            支持async(异步)和批量发送消息,被缓存在Memery中;
Consumer:
            Message的消费者,从Topic中获取和消费Message。
            每个Consumer值属于一个Consumer Group中,每个Group有多个Consumer;
            一个Partition只会被每个Group中的一个Consumer消费,一个Consumer可以消费多个Partition;
            将消费的消息offset保存在zookeeper中,Consumer重启时,选择最近的offset继续消费;
            对于一个Topic,一个Group中的Consumer数量,不能够多于Partition的数量,否则将有Consumer接收不到Message;
Broker:
            Kafka集群中的一个实例;
            减少IO,先将消息缓存(个数或大小),在flush到磁盘;
            不保存消息状态,消息状态有Consumer保存;
            消息数据默认保存7天;
 

 

003.Kafka基本概念

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
变量 var message; 变量只是个占位符,不保存任何类型。没有初始化的时候保存一个特殊值undefined
环境变量   环境变量通常是指在操作系统当中,用来指定操作系统运行时需要的一些参数。如,windir
左值和右值 int a = 1;//a是左值,1是右值 int b = a;//b是左值,a是右值 左值可以被当做右值使用,
数据模型(Data Model)是描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。 关系模型(Re
MSBuild是什么? MSBuild全称(Microsoft Build Engine),是用来生成.NET程序的平台。您可能不知道
1. Bundle:其实就是OSGI中的模块,通过配置jar包中的MAINIFEST.MF,控制从Bundle导出的包,没有导出
XACT工程 Wave Banks Sound Banks Global Settings Wave Banks 一个wave bank是包含多个wave文件的
1. ECMAScript 提供了实现通用程序设计任务所必须的 JavaScript 语法、运算符和基本对象。 2. ECMASc
本章内容 ü 基本数据类型 ü 操作符 ü 流程控制 ü 数组 ü 结构、枚举类型和类 ü 委托和事件 本章内容
本章目标 掌握抽象类的定义格式 掌握抽象类的使用规则 抽象类的定义及使用规则 包含一个抽象方法的
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号