消息中间件-Kafka方案.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Kafka 架构 系统结构 kafka cluster Broker 1 Broker 2 Broker 3 Producer-A Producer-B Producer-C Consumer-A Consumer-A Consumer-C Zookeeper 基础架构 Kafka 架构 基本概念 主题:topic 分区:partition 消息:message 生产者:producer 消费者:consumer group 消息队列:broker Producer Topic Consumer Group Partition Consumer 1 1..N 1 1..N Kafka 架构 kafka 消息流程图 topic 消息队列 Producer-A Producer-B Consumer consumer group partition producer 本地磁盘 注1:消息队列依赖于本地磁盘 注2:默认情况下,磁盘存储会保存 7 天 Kafka 架构 kafka 消息流程图 topic 消息队列 Producer-A Producer-B Consumer consumer group partition producer 本地磁盘1 本地磁盘2 注1:在一个由6个7200rpm的SATA硬盘组成的RAID-5磁盘阵列上, 线性写入的速度大约是300MB/秒,随机写入却只有50k/秒。 注2:在某些情况下,顺序磁盘访问能够比【随机】内存访问还要快! Kafka 架构 kafka 集群运行流程图 broker(1) broker(2) topic 13 7 4 12 8 2 10 9 6 11 Producer-A Producer-B Consumer-A Consumer-B Consumer-C consumer group partition 1 partition 2 partition 3 producer Kafka 架构 topic partition topic broker(1) 13 7 4 12 8 2 broker(2) 10 9 6 11 Producer-A Producer-B Consumer-A Consumer-B Consumer-C consumer group partition 1 partition 2 partition 3 producer 1、每个 partition 对应一个文件(夹) 2、分文件存储利于增加 topic 消息容量 3、把 partition 放在不同磁盘上,可以提高读写性能 4、把 partition 分散在不同机器上,支持负载均衡 5、通过迁移单个 partition, 实现快速水平扩展 6、partition内有序,partition间无序 Kafka 架构 producer topic broker(1) 13 7 4 12 8 2 broker(2) 10 9 6 11 Producer-A Producer-B Consumer-A Consumer-B Consumer-C consumer group partition 1 partition 2 partition 3 producer 1、自定义 partitioner, 保证同族消息保存在相同 partition 中,默认为 hash 算法随机分配 2、异步提交时,会把多个消息合并,提高IO性能 3、如果对 topic 进行水平扩容,producer 需要重新获取 broker 列表,重新连接 Kafka 架构 consumer topic broker(1) 13 7 4 12 8 2 broker(2) 10 9 6 11 Producer-A Producer-B Consumer-A Consumer-B Consumer-C consumer group partition 1 partition 2 partition 3 producer Thread-A Thread-B Thread-C 1、一个 partition 只会被一个 consumer 线程连接; 2、一个 consumer group 由多个 consumer 线程组成; 3、一个 consumer group 可以同时被多个进程使用。 Kafka 架构 consumer group 注:Group A 和 Group B 会收到的是完全相同的消息 Kafka 架构 kafka 在 zookeeper 中的数据 * msmq: MicroSoft Message Queuing * /questionsactivemq-vs-a

文档评论(0)

骨干 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档