什么是Kafka?

  Apache Kafka是一个分布式流媒体平台,允许你发布和订阅记录流,允许你以容错方式存储记录流,允许你处理数据流。或是说Kafka是一个分布式、支持分区、多副本的,基于zookeeper协调的分布式消息系统。那自己眼中的kafka是什么?

Kafka的术语

  Topic(主题):特指Kafka要处理的记录源的分类,每一类记录称为一个topic,每一个记录由一个key、value和timestamp组成。

  Broker:Kafka集群中的一台或多台服务器(即kafka节点)。

  Producer(生产者):向kafka的一个Topic发送记录的过程。producers往某个topic上发布记录时将负责选择发布到topic的哪一个partition上,最简单的方式是从分区列表中轮流选择,也可以根据某种算法依照权重选择分区。

  Consumer(消费者):订阅Topic并处理该Topic发布的记录的过程。

  Partition(分区):topic物理上的分组,每个Topic包含一个或多个Partition,每个Partition是一个有序的队列。

  Consumer Group(消费组):一个Consumer Group可包含多个consumer,每个consumer用Consumer Group名称来标注自己。同一个Topic的数据会通过广播传递给不同Consumer Group,若同一个Topic的同一条记录只能被同一个GroupID的一个consumer消费,则实现点对点模式。若同一个Topic的同一条记录被不同GroupID中的consumer同时消费到,则实现了发布订阅模式,但是Partition中每个记录只能被Group中一个consumer消费,不能被多个consumer消费(Kafka实现了消息广播和单播;若需实现广播,只要每个consumer有一个独立的Group即可,若需实现单播,只要所有的consumer在同一个Group中即可)

Kafka 术语的更多相关文章

  1. 顶级Apache Kafka术语和概念

    1.卡夫卡术语 基本上,Kafka架构  包含很少的关键术语,如主题,制作人,消费者, 经纪人等等.要详细了解Apache Kafka,我们必须首先理解这些关键术语.因此,在本文“Kafka术语”中, ...

  2. Kafka术语解释

    前一篇文章介绍了如何使用kafka收发消息,但是对于kafka的核心概念并没有详细介绍,这里将会对包括kafka基本架构以及消费者.生产者API涉及的术语进行说明.了解这些术语有助于更深入理解kafk ...

  3. kafka术语

    kafka 架构Terminology(术语) broker(代理) Kafka集群包含一个或多个服务器,这种服务器被称为broker Topic  每条发布到Kafka集群的消息都有一个类别,这个类 ...

  4. 使用Kafka的一些简单介绍: 1集群 2原理 3 术语

    目录 第一节 Kafka 集群 Kafka 集群搭建 Kafka 集群快速搭建 第二节 集群管理工具 集群管理工具 集群 Issues 第三节 使用命令操纵集群 第四节 Kafka 术语说明 第五节 ...

  5. Apache Kafka(一)- Kakfa 简介与术语

    Apache Kafka 1. Kafka简介.优势.以及使用场景 Kafka的优势: 开源 分布式,弹性架构,fault tolerant 水平扩展: 可以扩展到100个brokers 可以扩展到每 ...

  6. Kafka简介

    Kafka简介 转载请注明出处:http://www.cnblogs.com/BYRans/ Apache Kafka发源于LinkedIn,于2011年成为Apache的孵化项目,随后于2012年成 ...

  7. 发布-订阅消息系统Kafka简介

    转载请注明出处:http://www.cnblogs.com/BYRans/ Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式 ...

  8. 了解Kafka

    Kafka简介 Kafka是一种分布式的,基于发布/订阅的消息系统.主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能 高吞吐率. ...

  9. 整合Kafka到Spark Streaming——代码示例和挑战

    作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管.本文,Michael详细的演示了如 ...

随机推荐

  1. Python Redis string

    String操作,redis中的String在在内存中按照一个name对应一个value来存储.如图: set(name, value, ex=None, px=None, nx=False, xx= ...

  2. Linux 查看磁盘读写速度IO使用情况

    # 查看io进程 命令:iotop 注:DISK TEAD:n=磁盘读/每秒              DISK WRITE:n=磁盘写/每秒. 注:标黄的可查看磁盘的读写速率,下面可以看到使用的io ...

  3. Springboot 上传excel并解析文件内容

    最近在做一个物业的系统,需要通过excel上传业主的信息,解析并入库. 参考:https://www.cnblogs.com/jyyjava/p/8074322.html 话不多说,直接上核心代码 i ...

  4. 运行软件出现:模块“msvcp110.dll”已加载,但找不到入口点DllRegister

    根据百度大多数回答来说 1:先是出现   无法启动程序,因为计算机丢失mfc110.dll 尝试重新安装该程序以解决问题 错误处理:下载或者在别人电脑上拷一份 如:'msvcp110.dll‘ 这类文 ...

  5. Python将list中的string批量转化成int/float

    data = ['] data = map(eval, data) print data 输出:[1, 3.2, 2] 但是在Python3下我们输入: ls=[1,2,3] rs=map(str,l ...

  6. react-router 4.0(三)根据当前url显示导航

    import React, { PropTypes } from 'react' import ReactDOM from 'react-dom' import { HashRouter, Route ...

  7. UnicodeMath编码教程

    目录 1. 简介 2. 编码简单数学表达式 2.1 分数 2.2 上标和下标 2.3 空白(空格)字符使用 3. 编码其他数学公式 3.1 open/close分隔符 关于大括号方程组(cases) ...

  8. 《Visual C#从入门到精通》第四章使用复合赋值和循环语句——读书笔记

    第1章 使用复合赋值和循环语句 4.1 使用复合赋值操作符 任何算术操作符都可以像这样与赋值操作符合并,从而获得复合赋值操作符. 不要这样写 要这样写 Variable=Variable*number ...

  9. JVM ——知识总结(面试)

    1)JAVA语言是一种强语言 2)JAVA不允许使用指针访问内存,不允许使用指针数组访问内存 3)有自动收集垃圾的作用 4)方法调用时,会创建栈帧在栈中,调用完是程序自动出栈释放,而不是gc释放 5) ...

  10. Canvas---clearRect()清除圆形区域

    function clearArcFun(x,y,r,cxt){ //(x,y)为要清除的圆的圆心,r为半径,cxt为context var stepClear=1;//别忘记这一步 clearArc ...