文档章节

第一章:Kafka介绍

ifnoelse
 ifnoelse
发布于 2014/11/14 03:58
字数 921
阅读 70
收藏 0

        欢迎来到Kafka的世界

        当今世界,应用程序(商业、社会、或者其他类型)不断的产生实时数据,这些数据需要通过简单的方式快速可靠的传送给各种接收者。大多数时候,这些信息的生产者与消费者彼此独立不能互相访问。有时候这一点导致需要重建信息的生产者或者消费者,用以在他们之间建立一个集成点。因此,需要一种机制,能把信息的生产者与消费者无缝的集成起来,以避免在应用程序另一端任何形式的重写。

        在当前大数据时代,第一个重大的挑战是收集这些海量数据,第二挑战是分析这些数据,这些分析通常包括以下等类型的数据。

    • 用户行为数据

    • 应用程序性能跟踪

    • 实时日志数据

    • 事件消息

  消息发布是一种在消息传递的帮助下连接各种应用程序的机制,通过一个消息代理,比如kafka,将大量实时数据快速路由到多个消费者,Kafka提供了一种生产者与消费者之间的无缝集成机制,既不需要阻塞生产者产生消息,也不需要让生产者知道谁是消费者

        Apache Kafka是一个开源的分布式消息发布订阅系统,主要的设计特点如下:

    • 持久化消息:要获取大数据的真正意义,任何类型的数据都不能丢失。Apache Kafka被设计成,存储大量消息数据,甚至TB级时,性能仍是常数时间O(1)

    • 高吞吐量:

    • 分布式:Apache Kafka在Kafka服务器上支持消息分区,并且向一组消费者发送消息时能够保证消息语义的顺序。

    • 多个客户端支持Apache Kafka系统可以非常简单的与其他不同平台整合,比如Java, .NET, PHP, Ruby, 和 Python。

    • 实时:由生产者线程产生的消息应该立刻被消费者线程看见,这对于基于事件驱动的系统,例如复杂事件处理系统(CEP),是至关重要的特性。

        Kafka提供了一个实时的发布-订阅解决方案,克服了数据量在以数量级增长的情况下实时数据的使用,Kafka同样支持在Hadoop系统中数据的平行加载。

        下图展示了一个基于Kafka消息系统的典型数据统计分析系统解决方案:

        

        在生产端有各种不同的生产者,比如以下:

    • 前端web应用程序生成的日志

    • 生产者商代理生成web分析日志

    • 生产者适配器生产的转换日志

    • 生产者服务生产的调用跟踪日志

    在消费端有各种不同的消费者,比如以下:

    • 离线消费者,在hadoop或者传统的数据仓库中使用或存储消息

    • 近似实时消费者,在NoSQL数据库中,比如:HBase或Cassandra,使用或存储消息以供实时分析

    • 实时消费者,在内存数据库过滤消息并触发后续组件相关事件

    Kafka的必要性

    大量数据由具有基于网络呈现与活动的公司生产,数据是这些基于互联网的系统的新材料之一,通常包括用户活动事件,对应有登陆、页面浏览、点击、社交网络活动(例如:喜欢、分享和评论)和操作及系统指标。

© 著作权归作者所有

共有 人打赏支持
ifnoelse
粉丝 0
博文 19
码字总数 3630
作品 0
朝阳
程序员
私信 提问
写给大数据开发初学者的话 | 附教程

导读: 第一章:初识Hadoop 第二章:更高效的WordCount 第三章:把别处的数据搞到Hadoop上 第四章:把Hadoop上的数据搞到别处去 第五章:快一点吧,我的SQL 第六章:一夫多妻制 第七章:越来...

小数点
2017/12/07
0
0
深入掌握大数据Kafka的使用(基于Python开发)-张明阳-专题视频课程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a2011480169/article/details/83583785 深入掌握大数据Kafka的使用(基于Python开发)—3人已学习 课程介绍 ...

安静的技术控
2018/10/29
0
0
Apache Flink 漫谈系列(14-1) - DataStream Connectors之Kafka【编写中]

聊什么 为了满足本系列读者的需求,在完成《Apache Flink 漫谈系列(14) - DataStream Connectors》之前,我先介绍一下Kafka在Apache Flink中的使用。所以本篇以一个简单的示例,向大家介绍在...

金竹
01/14
0
0
干货满满,腾讯云+社区技术沙龙 Kafka Meetup 深圳站圆满结束

云+导语:4月22日,由腾讯云和 Kafka 社区主办、开源中国协办的腾讯云+社区技术沙龙 Kafka Meetup 深圳站在腾讯大厦举行,本次活动全程干货满满,不仅有 Kafka 的前世今生及展望,也有对 Ka...

小鱼丁
2018/04/25
194
0
云+社区技术沙龙 Kafka meetup 深圳站

如果说 2018 年是技术大爆炸年,那么 Apache Kafka 绝对是其中闪亮的新星。 自Kafka 从首发之日起,已经走过了快八个年头。Kafka 已经从最开始的大规模消息系统,发展成为功能完善的分布式流...

新垣吉衣OSC
2018/04/02
2
0

没有更多内容

加载失败,请刷新页面

加载更多

vue 对对象的属性进行修改时,不能渲染页面 vue.$set()

我在vue里的方法里给一个对象添加某个属性时,我console.log出来的是已经更改的object ,但是页面始终没有变化 原因如下: **受现代 JavaScript 的限制 (而且 Object.observe 也已经被废弃),...

Js_Mei
今天
2
0
开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
5
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部