简介: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. JS性能--DOM编程之重排与重绘
  2. IOS开发基础之使用AFNetworking框架下载服务器资源图片
  3. 微软正式发布Azure IoT Central
  4. idea java 非法字符_解决IDEA显示非法字符 \ufeff 的问题
  5. [前台]---图片上传和校验
  6. Win10下VS2015(WDK10)驱动开发环境配置
  7. 【Python3网络爬虫开发实战】 1.7.1-Charles的安装
  8. sql出现列名无效的原因_SQL数据库中的数据类型与表结构的创建
  9. struts2初步学习路线
  10. 穿越机F4飞控F405代码pcb文件,原理图
  11. SSM小区停车场管理系统
  12. 某60终端安全管理系统前台SQL注入漏洞复现
  13. 程序员接私单被警方抓走,企业应不应该起诉程序员赔偿?
  14. 黎曼 zeta 函数与黎曼猜想
  15. 计算机基础知识对编程的重要性
  16. python 报价机器人_100行代码实现报价机器人公众号后台
  17. NetSpot Pro一款非常强大的可视化wifi检测工具
  18. 1046 划拳 PTA
  19. 互联网 Java 工程师进阶知识完全扫盲
  20. SketchUp Ruby二次开发

热门文章

  1. VC#打包部署全攻略之(一、添加卸载程序)
  2. ubuntu “快捷方式”
  3. [原创]SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问...
  4. URAL 1152. False Mirrors(DP)
  5. dos 命令与 C++的联合作业,有点意思~
  6. Ie6/ie7 不支持 JSON
  7. 多个中间件_前端如何正确使用中间件?
  8. 声明:songzijian这个域名已经被抢注。大家别上了。不是我了。
  9. 【数字信号处理】序列傅里叶变换 ( 序列傅里叶变换定义详细分析 | 证明单位复指数序列正交完备性 | 序列存在傅里叶变换的性质 | 序列绝对可和 → 序列傅里叶变换一定存在 )
  10. 【五线谱】还原记号 ( 还原记号使用简介 | 变音记号、还原记号实例分析 )