Kafka 分布式消息系统详解
实际上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 分布式消息系统详解相关推荐
- linux如何查看kafka消息队列,kafka以及消息队列详解
kafka以及消息队列详解 Kafka 是LinkedIn 开发的一个高性能.分布式的消息系统. 用途:广泛用于日志收集.流式数据处理.在线和离线消息分发等场景. 1. Kafka 将消息流按Topi ...
- KAFKA分布式消息系统
Kafka[1]是linkedin用于日志处理的分布式消息队列,linkedin的日志数据容量大,但对可靠性要求不高,其日志数据主要包括用户行为(登录.浏览.点击.分享.喜欢)以及系统运行日志(CPU ...
- [转载] KAFKA分布式消息系统
转载自http://blog.chinaunix.net/uid-20196318-id-2420884.html Kafka[1]是linkedin用于日志处理的分布式消息队列,linkedin的日 ...
- Centos_7.2 下构建 Kafka_2.13 分布式消息系统的单机版
如何在 Centos_7.2 下构建 Kafka_2.13 分布式消息系统的单例模式 一.前言 本文对于 kafka 分布式消息系统,是一个不错的入口点,首先从安装开始,这样就可以对 kafka 有一 ...
- java kafka分布式_Kafka分布式消息系统
1.简介 Kafka是一个分布式消息系统,使用Scala语言进行编写,具有高水平扩展以及高吞吐量特性. 目前流行的消息队列主要有三种:ActiveMQ.RabbitMQ.Kafka ActiveMQ. ...
- 分布式消息系统Kafka初步
http://my.oschina.net/ielts0909/blog/92972 终于可以写kafka的文章了,Mina的相关文章我已经做了索引,在我的博客中置顶了,大家可以方便的找到.从这一篇开 ...
- UE4 输入系统详解一、 UE4如何获取win系统输入消息
UE4 输入系统详解一. UE4如何获取win系统输入消息 UE4版本:4.253 按键输入 1.当我们按下键盘时输入时,FEngineLoop::Tick()里的每个tick执行的PumpMessa ...
- 消息通知系统详解2---后端设计
消息通知系统详解1-通讯方式 消息通知系统详解2-后端设计 消息通知系统详解3-Netty 消息通知系统详解4-整合Netty和WebSocket 目录 整体设计 上线登录后向系统索取 在线时系统向接 ...
- Kafka:用于日志处理的分布式消息系统
文章目录 摘要 常用术语 关键词 1. 简介 2. 相关工作 3. Kafka架构和设计原则 3.1 单分区的效率 3.1.1 简单的存储 3.1.2 高效的传输 3.1.3 无状态代理 3.2 分布 ...
- 分布式消息系统 Kafka 简介
分布式消息系统 Kafka 简介 阅读目录 5.1 吞吐量 5.2 负载均衡 5.3 拉取系统 5.4 可扩展性 5.5 消息删除策略 6.1 消息队列 6.2 行为跟踪 6.3 元信息监控 6.4 ...
最新文章
- python对象三个特性_Python面向对象三大特征之多
- R语言应用实战-基于R的C4.5算法和C5.0算法原理解析及应用案例
- 【spark】SparkSession的API
- HTML基础之bit哥的反客为主之道(9)
- 光电转换器有什么作用?光纤收发器如何保养?
- 文章中嵌入代码块_如何在您的文章中嵌入多项选择测验问题
- 【CentOS 7笔记13】,find用法和文件传输#171025
- 无心剑中译罗素《通往幸福之路》
- 《统计学习方法》—— 朴素贝叶斯方法、详细推导及其python3实现(一)
- Pickit 3D视觉定位抓取系统 -硅步机器人
- win10状态栏点击没反应解决办法
- java 转换成大写_java实现将数字转换成人民币大写
- csgo服务器显示连接中,CSGO提示连接到官方任意服务器失败怎么办?
- java判断闰年中闰月_闰年闰月查询表_闰月查询表_闰年查询表-万年历
- Execel 中文转拼音英文字母
- C++ 几种智能指针的简单实现
- sockjs-node报错
- 获取设备 AirPods、Apple TV、Apple Watch、HomePod、iPad、iPad Air、iPad Pro、iPad mini、iPhone、iPod touch的型号
- springBoot整合mybatis-plus 报错 No qualifying bean of type
- 定时备份脚本分享(网站数据和数据库数据)
热门文章
- Deep Learning学习随记(二)Vectorized、PCA和Whitening
- QSqlTableModel配合QTableView设置单元格对齐方式和前景色等
- .NET中的数据结构——表
- reactNative之react-native-picker
- DOC命令大全--(转)
- Java byte变成无符号整数~~~
- Essential Booklist of .Net Framework
- 奇怪的等待事件“enq: ss - contention”
- Android 8 AudioPolicy 分析
- Java中TreeMap集合讲解