简介:Kafka是一种高吞吐量的分布式发布订阅消息系统,可以提供消息的持久化,即使数以TB的消息存储也能够保持长时间的稳定性能。同时Kafka也支持Hadoop并行数据加载。该项目的目标是为处理实时数据提供一个统一,高通量,低等待的平台。
kafka中几个基本的术语:
  • Topic(主题)---Kafka按照分类对信息源进行维护。实际应用中一个业务一个topic
  • Producer(生产者)---把发送消息到topic中的进程叫做生产者
  • Consumer(消费者)---把从topic中订阅消息的进程叫做消费者
  • Broker(Kafka服务)---Kafka集群中的每个服务叫做broker

Kafka生产证-消费者:

服务端和客户端的通信是常见的TCP协议。
kafka是一个基于分布式的消息发布-订阅系统,它被设计成快速,可扩展的,持久的。与其他消息发布-订阅类似。Kafka在主题中保存消息的信息。生产者向主题写入数据,消费者从主题读取数据。由于Kafka的特性是支持分布式的,同时也是基于分布式的,所以主题也是可以在多个节点上被分区和覆盖的。
信息是一个字节数组,可以在这些字节数组中存储任何对象,支持的数据格式包括string,JSON,Avro。Kafka通过给每个消息绑定一个键值的方式来保证生产者可以把所有的消息发送到指定位置。属于某一个消费者群组的消费者订阅了一个主题,通过该订阅,消费者可以跨节点的接收所有与该主题相关的消息,每一个消息只会发送给群组的每一个消费者,所有拥有相同键值消息都会被确保发给这一个消费者。
Kafka设计中将每一个主题分区当做一个具有顺序排列的日志。同处于一个分区中的消息都被设置了一个唯一的偏移量。Kafka只会保持跟踪未读消息一旦消息被置为已读,Kafka就不回去管理它。Kafka的生产者负责在消息队列中对生产出来的消息保证一定时间的占有,消费者负责追踪每一个主题(可以理解为一个日志通道)的消息并及时获取他们。基于这样的设计,Kafka可以在消息队列中保存大量的开销很小的数据,并且支持大量的消费者订阅。
<<分布式系统常用技术及案例分析>>

转载于:https://www.cnblogs.com/shangdongbin/p/7729138.html

简单理解kafka---入门相关推荐

  1. kafka 同步提交 异步_腾讯游戏工程师分享:简单理解 Kafka 的消息可靠性策略

    作者:hymanzhang,腾讯 IEG 运营开发工程师 背景 部门的开发同学最近在开发一个活动的过程中,需要关注大量的应用后台逻辑,捕捉各种事件的触发.在设计时打算采用 kafka 消息队列进行业务 ...

  2. 简单理解 Kafka 的消息可靠性策略

    作者:hymanzhang,腾讯 IEG 运营开发工程师 背景 部门的开发同学最近在开发一个活动的过程中,需要关注大量的应用后台逻辑,捕捉各种事件的触发.在设计时打算采用 kafka 消息队列进行业务 ...

  3. 入门启发:音视频的简单理解

    算机技术领域中,『音视频技术』应该说算是较复杂的小门类.较复杂的东西有个简单的入门指引,或者有前辈带路是很重要的. 前阵子,因为项目中急需音视频技术,虽然网上资料看似很丰富,但对初学者来说,很多资料都 ...

  4. Kafka入门(一) 概述、部署与API的简单使用

    Kafka入门(一) 概述.部署与API的简单使用 MQ 传统架构的问题 MQ简介 MQ的优缺点 优点 缺点 同步与异步 P2P模式 订阅发布模式 Kafka概述 简介 特点 名称解释 Broker ...

  5. 【深度学习入门基础】二、简单理解 Transformer

    [深度学习入门基础]二.简单理解 Transformer 文章目录 [深度学习入门基础]二.简单理解 Transformer 自注意力层 多头注意力 Transformer 输入(输出)嵌入 位置编码 ...

  6. kafka入门:简介、使用场景、设计原理、主要配置及集群搭建

    为什么80%的码农都做不了架构师?>>>    kafka入门:简介.使用场景.设计原理.主要配置及集群搭建(转) 问题导读: 1.zookeeper在kafka的作用是什么? 2. ...

  7. 新书《深入理解Kafka:核心设计与实践原理》上架,感谢支持~

    新书上架 初识 Kafka 时,笔者接触的还是 0.8.1 版本,Kafka 发展到目前的 2.x 版本,笔者也见证了Kafka的蜕变,比如旧版客户端的淘汰.新版客户端的设计.Kafka 控制器的迭代 ...

  8. kafka入门:简介、使用场景、设计原理、主要配置及集群搭

    李克华 云计算高级群: 292870151 195907286 交流:Hadoop.NoSQL.分布式.lucene.solr.nutch  kafka入门:简介.使用场景.设计原理.主要配置及集群搭 ...

  9. kafka入门(1)——简介

    kafka入门(1)--简介 消息队列简介 什么是消息队列 消息队列,英文名:Message Queue,经常缩写为MQ.从字面上来理解,消息队列是一种用来存储消息的队列.来看一下下面的代码: // ...

  10. Kafka入门教程与详解

    1 Kafka入门教程 1.1 消息队列(Message Queue) Message Queue消息传送系统提供传送服务.消息传送依赖于大量支持组件,这些组件负责处理连接服务.消息的路由和传送.持久 ...

最新文章

  1. 学习官方示例 - System.TClass
  2. 赛道公布之后,让我们一起DISS组委会
  3. getBytes等空指针异常
  4. coreldraw 复制填充渐变色
  5. Jboss7.1.1配置SSL
  6. SQL Server中如何取得刚插入的标识值
  7. Windows环境下使用Linux命令
  8. 在VMWare上安装CentOS8
  9. Android P(1)---Android P 上手:十年来的最大升级,你想知道的都在这里
  10. Deformable-DETR的学习笔记
  11. linux 把数字传给bc,linux – 在Bash中使用bc舍入数字
  12. PLC编程语言都在这里了!
  13. OPNsense防火墙搭建实验环境,MSF与SSH进行流量转发
  14. 分析力学-清华大学基科班课件
  15. iOS上架App Store详解(图文)
  16. 计算机中的字体从哪里来,电脑里的汉字是怎么造出来的
  17. PayPal开发之IPN的使用
  18. udpping检测与对端udp协议通信状况
  19. 那些年我用过的JSON格式化工具
  20. Basic Level 1035 插入与归并 (25分)

热门文章

  1. (19)C++项目练习二----------【音乐播放器】
  2. u3d中texture2D的Advanced设置解析
  3. Android中asset和raw的区别
  4. redirect_uri参数错误解决方法
  5. Akka Cluster原理与应用
  6. Delphi调用REST
  7. YII 测试环境搭建
  8. [NOI2007]货币兑换Cash(DP+动态凸包)
  9. Vue之element table 后端排序实现
  10. 洛谷 P3960 列队【线段树】