Kafka--Storm.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Kafka--Storm

Storm 讲师:陈博 Storm+Kafka ? Storm+Kafka介绍 – storm为什么需要消息介绍 – kafka是什么,有哪些特点 – Storm+Kafka有什么好处 ? KafkaSpout ? KafkaBolt ? 流式的进来,流式的出去 ? 和DRPC不同,那个是一个请求一个相应 为什么Storm需要一个消息队列??? ? 答案很简单,解决和其他系统耦合的问题 ? 如何获取输入数据 – storm没有自己的接收器 – 而且从数据源拉(pull)可以更好地控制流量 ? 如何把输出结果数据 – storm没有自己的存储 ? 消息列队正好解决了数据耦合问题 ? Storm本身自己是没有消息接收器的,DRPC本质上不是核心的东西,而是外围的工 具,反过来它是通过Spout从外面拉数据的,拉数据可以很好的控制自己处理的流 量,不至于上游产生数据量大产生雪崩 ? 每个业务都去不同地方去取数据,会使得不通用,当业务产生数据的地方变化的话, 你storm也要变,消息队列正好解决了这个问题了,进行了解耦,起到缓冲,当突 发流量的时候,可以产生缓冲 ? 各个业务把数据打到消息队列里面,这样storm从里面去拉,就很好的组合了, Storm没有自己的存储,放到KV里面去,当然有时候需要流式的产出到其他消息队 列里面,然后需要看的人从消息队列里面去看数据,还有即使能写到Redis里面去, 但是通常storm也不那么去做,当写后面KV失败的话,要么就丢,要不就重试,就 会一级级的堵,一直堵到Spout去,这中间其实我们可以用消息队列里面做缓冲, 然后再写入到KV里面去,这也是一种非常牛逼的模式 Kafka是个什么东西?消息队列的特点??? ? 消息列队的特点: ? 生产者消费者模式 ? 先进先出(FIFO)顺序保证 ? 可靠性保证 – 自己不丢数据 – 消费者不丢数据:“至少一次,严格一次” ? 至少一次就是可能会有两次,会重 ? 严格一次机制就会负责一点 消息列队常见场景 ? 系统之间解耦合 – queue模型 – publish-subscribe模型 ? 峰值压力缓冲 ? 异步通信 kafka是一个高吞吐的分部式消息系统 ? Apache kafka is publish-subscribe messaging rethought as a distributed commit log kafka的架构 ? producer:消息生存者 ? consumer:消息消费者 ? broker:kafka集群的server, 负责处理消息读、写请求,存储消息 ? topic:消息队列/分类 ? Queue里面有生产者消费者模型 ? broker就是代理,在kafka cluster这一层这里,其实里面是有很多个broker ? topic就相当于queue ? 图里没有画其实还有zookeeper,这个架构里面有些元信息是存在zookeeper上面 的,整个集群的管理也和zookeeper有很大的关系 kafka的消息存储和生产消费模型 ? 一个topic分成多个partition ? 每个partition内部消息强有序,其 中的每个消息都有一个序号叫 offset ? 一个partition只对应一个broker, 一个broker可以管多个partition ? 消息不经过内存缓冲,直接写入文 件 ? 根据时间策略删除,而不是消费完 就删除 ? producer自己决定往哪个partition 写消息,可以是轮询的负载均衡, 或者是基于hash的partition策略 ? 接下来我们看kafka是怎么生产消息,消费消息,和怎么存储消息的,来看它精髓的 地方 ? kafka里面的消息是有topic来组织的,简单的我们可以想象为一个队列,一个队列 就是一个topic,然后它把每个topic又分为很多个partition,这个是为了做并行的, 在每个partition里面是有序的,相当于有序的队列,其中每个消息都有个序号,比 如0到12,从前面读往后面写, ? 一个partition对应一个broker,一个broker可以管多个partition,比如说,topic 有6个partition,有两个broker,那每个broker就管3个partition ? 这个partition可以很简单想象为一个文件,当数据发过来的时候它就往这个 partition上面append,追加就行,kafka和很多消息系统不一样,很多消息系统是 消费完了我就把它删掉,而kafka是根据时间策略删除,而不是消费完就删除,在 kafka里面没有一个消费完这么个概念,只有过期这样一个概念,这个模型带来了很 多个好处,这个我们后面再讨论一下 ?

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档