实际上kafka对机器的需求与Hadoop的类似。

原来,对于Linkin这样的互联网企业来说,用户和网站上产生的数据有三种:

需要实时响应的交易数据,用户提交一个表单,输入一段内容,这种数据最后是存放在关系数据库(Oracle, MySQL)中的,有些需要事务支持。
活动流数据,准实时的,例如页面访问量、用户行为、搜索情况,这些数据可以产生啥?广播、排序、个性化推荐、运营监控等。这种数据一般是前端服务器先写文件,然后通过批量的方式把文件倒到Hadoop这种大数据分析器里面慢慢整。
各个层面程序产生的日志,例如httpd的日志、tomcat的日志、其他各种程序产生的日志。码农专用,这种数据一个是用来监控报警,还有就是用来做分析。

Linkin的牛逼之处,就在于他们发现了原先2,3的数据处理方式有问题,对于2而言,原来动辄一两个钟头批处理一次的方式已经不行了,用户在一次购买完之后最好马上就能看到相关的推荐。而对于3而言,传统的syslog模式等也不好用,而且很多情况下2和3用的是同一批数据,只是数据消费者不一样。
这2种数据的特点是:

准实时,不需要秒级响应,分钟级别即可。
数据量巨大,是交易数据的10倍以上。
数据消费者众多,例如评级、投票、排序、个性化推荐、安全、运营监控、程序监控、后期报表等

于是,Linkin就自己开发了一套系统,专门用来处理这种性质的数据,这就是Kafka

因为每条消息都被append到该partition中,是顺序写磁盘,因此效率非常高(经验证,顺序写磁盘效率比随机写内存还要高,这是Kafka高吞吐率的一个很重要的保证)。

Kafka内部架构图,分为数据产生者(Producer),数据中间者(Broker),数据消费者(Consumer)

参考文章:

http://blog.csdn.net/qqqq724/article/details/43228863

http://www.cnblogs.com/likehua/p/3999538.html

实例文章:

http://zhangfengzhe.blog.51cto.com/8855103/1561021

搭建kafka运行环境

http://zhangfengzhe.blog.51cto.com/8855103/1556650

Kafka JAVA客户端代码示例

http://my.oschina.net/cloudcoder/blog/299215

本文出自 “点滴积累” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1688044

Kafka 分布式消息系统详解相关推荐

  1. linux如何查看kafka消息队列,kafka以及消息队列详解

    kafka以及消息队列详解 Kafka 是LinkedIn 开发的一个高性能.分布式的消息系统. 用途:广泛用于日志收集.流式数据处理.在线和离线消息分发等场景. 1. Kafka 将消息流按Topi ...

  2. KAFKA分布式消息系统

    Kafka[1]是linkedin用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为(登录.浏览.点击.分享.喜欢)以及系统运行日志(CPU ...

  3. [转载] KAFKA分布式消息系统

    转载自http://blog.chinaunix.net/uid-20196318-id-2420884.html Kafka[1]是linkedin用于日志处理的分布式消息队列,linkedin的日 ...

  4. Centos_7.2 下构建 Kafka_2.13 分布式消息系统的单机版

    如何在 Centos_7.2 下构建 Kafka_2.13 分布式消息系统的单例模式 一.前言 本文对于 kafka 分布式消息系统,是一个不错的入口点,首先从安装开始,这样就可以对 kafka 有一 ...

  5. java kafka分布式_Kafka分布式消息系统

    1.简介 Kafka是一个分布式消息系统,使用Scala语言进行编写,具有高水平扩展以及高吞吐量特性. 目前流行的消息队列主要有三种:ActiveMQ.RabbitMQ.Kafka ActiveMQ. ...

  6. 分布式消息系统Kafka初步

    http://my.oschina.net/ielts0909/blog/92972 终于可以写kafka的文章了,Mina的相关文章我已经做了索引,在我的博客中置顶了,大家可以方便的找到.从这一篇开 ...

  7. UE4 输入系统详解一、 UE4如何获取win系统输入消息

    UE4 输入系统详解一. UE4如何获取win系统输入消息 UE4版本:4.253 按键输入 1.当我们按下键盘时输入时,FEngineLoop::Tick()里的每个tick执行的PumpMessa ...

  8. 消息通知系统详解2---后端设计

    消息通知系统详解1-通讯方式 消息通知系统详解2-后端设计 消息通知系统详解3-Netty 消息通知系统详解4-整合Netty和WebSocket 目录 整体设计 上线登录后向系统索取 在线时系统向接 ...

  9. Kafka:用于日志处理的分布式消息系统

    文章目录 摘要 常用术语 关键词 1. 简介 2. 相关工作 3. Kafka架构和设计原则 3.1 单分区的效率 3.1.1 简单的存储 3.1.2 高效的传输 3.1.3 无状态代理 3.2 分布 ...

  10. 分布式消息系统 Kafka 简介

    分布式消息系统 Kafka 简介 阅读目录 5.1 吞吐量 5.2 负载均衡 5.3 拉取系统 5.4 可扩展性 5.5 消息删除策略 6.1 消息队列 6.2 行为跟踪 6.3 元信息监控 6.4 ...

最新文章

  1. python对象三个特性_Python面向对象三大特征之多
  2. R语言应用实战-基于R的C4.5算法和C5.0算法原理解析及应用案例
  3. 【spark】SparkSession的API
  4. HTML基础之bit哥的反客为主之道(9)
  5. 光电转换器有什么作用?光纤收发器如何保养?
  6. 文章中嵌入代码块_如何在您的文章中嵌入多项选择测验问题
  7. 【CentOS 7笔记13】,find用法和文件传输#171025
  8. 无心剑中译罗素《通往幸福之路》
  9. 《统计学习方法》—— 朴素贝叶斯方法、详细推导及其python3实现(一)
  10. Pickit 3D视觉定位抓取系统 -硅步机器人
  11. win10状态栏点击没反应解决办法
  12. java 转换成大写_java实现将数字转换成人民币大写
  13. csgo服务器显示连接中,CSGO提示连接到官方任意服务器失败怎么办?
  14. java判断闰年中闰月_闰年闰月查询表_闰月查询表_闰年查询表-万年历
  15. Execel 中文转拼音英文字母
  16. C++ 几种智能指针的简单实现
  17. sockjs-node报错
  18. 获取设备 AirPods、Apple TV、Apple Watch、HomePod、iPad、iPad Air、iPad Pro、iPad mini、iPhone、iPod touch的型号
  19. springBoot整合mybatis-plus 报错 No qualifying bean of type
  20. 定时备份脚本分享(网站数据和数据库数据)

热门文章

  1. Deep Learning学习随记(二)Vectorized、PCA和Whitening
  2. QSqlTableModel配合QTableView设置单元格对齐方式和前景色等
  3. .NET中的数据结构——表
  4. reactNative之react-native-picker
  5. DOC命令大全--(转)
  6. Java byte变成无符号整数~~~
  7. Essential Booklist of .Net Framework
  8. 奇怪的等待事件“enq: ss - contention”
  9. Android 8 AudioPolicy 分析
  10. Java中TreeMap集合讲解