消息中间件-Kafka讲解课件.ppt

上传人:小飞机 文档编号:3384459 上传时间:2023-03-12 格式:PPT 页数:26 大小:1.63MB
返回 下载 相关 举报
消息中间件-Kafka讲解课件.ppt_第1页
第1页 / 共26页
消息中间件-Kafka讲解课件.ppt_第2页
第2页 / 共26页
消息中间件-Kafka讲解课件.ppt_第3页
第3页 / 共26页
消息中间件-Kafka讲解课件.ppt_第4页
第4页 / 共26页
消息中间件-Kafka讲解课件.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《消息中间件-Kafka讲解课件.ppt》由会员分享,可在线阅读,更多相关《消息中间件-Kafka讲解课件.ppt(26页珍藏版)》请在三一办公上搜索。

1、Kafka,一、MQ 系统二、Kafka 架构三、Kafka 命令四、配置文件,MQ 系统,一、Redis二、ZeroMQ三、ActiveMQ四、RocketMQ五、Kafka,MQ系统,RedisRedis是一个NoSQL数据库处理小流量的消息队列不适用于大流量的应用场景,MQ系统,ActiveMQActiveMQ2007 年发布第一个版本(同年 JDK1.5发布)被广泛应用于零售、银行、电子商务和政府等领域。稳定性好,性能还过得去。缺少异步 Java API 和 NIO支持,在高资源配置的计算机上扩展性不佳。Apollo重写了 ActiveMQ 内核,Apache称其为最快、最强健的STO

2、MP(Streaming Text Orientated Message Protocol,流文本定向消息协议)服务器。github 一年多没更新,网传 Apollo项目已经失败,MQ系统,ZeroMQ不支持序列化,阅后即焚。如果服务器宕机,数据将丢失ZeroMQ本身只是一个网络协议栈的实现库.使用过程中由应用服务器扮演服务器的角色ZeroMQ的目标是,成为 Linux 内核的一部分逆天的性能,MQ系统,Kafak VS RocketMQ定位Kafak:由 Linkin 开源,用于即时的日志传输RocketMQ:由淘宝开源,实现非日志的可靠消息传输,用于交易、订单、充值等场景TPS 性能kaf

3、ka 单机写入 TPS 在百万条/秒,消息大小为10bRocketMQ 单机 7万条/秒,消息大小为10b队列数kafak 单机超过 64个队列/分区,Load 会发生明显的飙高现象RocketMQ 最高支持 5万队列实时性Kafka使用短轮询方式,实时性取决于轮询间隔时间RocketMQ使用长轮询,同Push方式实时性一致,消息的投递延时通常在几个毫秒。成熟度Kafka在日志领域比较成熟,操作系统Crash,会导致数据丢失RocketMQ在阿里集团内部有大量的应用在使用,不会丢消息,MQ系统,总结,Kafka 架构,系统结构,kafka cluster,Broker 1,Broker 2,B

4、roker 3,Producer-A,Producer-B,Producer-C,Consumer-A,Consumer-A,Consumer-C,Zookeeper,基础架构,Kafka 架构,基本概念主题:topic分区:partition消息:message生产者:producer消费者:consumer group消息队列:broker,Kafka 架构,kafka 消息流程图,topic,消息队列,Producer-A,Producer-B,Consumer,consumer group,partition,producer,注1:消息队列依赖于本地磁盘注2:默认情况下,磁盘存储会保

5、存 7 天,Kafka 架构,kafka 消息流程图,topic,消息队列,Producer-A,Producer-B,Consumer,consumer group,partition,producer,注1:在一个由6个7200rpm的SATA硬盘组成的RAID-5磁盘阵列上,线性写入的速度大约是300MB/秒,随机写入却只有50k/秒。注2:在某些情况下,顺序磁盘访问能够比【随机】内存访问还要快!,Kafka 架构,kafka 集群运行流程图,topic,Producer-A,Producer-B,Consumer-A,Consumer-B,Consumer-C,consumer gro

6、up,partition 1,partition 2,partition 3,producer,Kafka 架构,topic&partition,producer 怎么保证业务有序?,1、每个 partition 对应一个文件(夹)2、分文件存储利于增加 topic 消息容量3、把 partition 放在不同磁盘上,可以提高读写性能4、把 partition 分散在不同机器上,支持负载均衡5、通过迁移单个 partition,实现快速水平扩展6、partition内有序,partition间无序,Kafka 架构,producer,consumer 处理速度跟不上怎么办?,1、自定义 par

7、titioner,保证同族消息保存在相同 partition 中,默认为 hash 算法随机分配2、异步提交时,会把多个消息合并,提高IO性能3、如果对 topic 进行水平扩容,producer 需要重新获取 broker 列表,重新连接,Kafka 架构,consumer,不同的 consumer Group 之间有什么关系?,1、一个 partition 只会被一个 consumer 线程连接;2、一个 consumer group 由多个 consumer 线程组成;3、一个 consumer group 可以同时被多个进程使用。,Kafka 架构,consumer group,注:G

8、roup A 和 Group B 会收到的是完全相同的消息,Kafka 架构,kafka 在 zookeeper 中的数据,Kafka 命令,数据分区和水平扩展1、创建一个 16 分区,双备的 topic./bin/kafka-topics.sh-create-zookeeper 10.100.10.200:2181-replication-factor 2-partitions 16-topic my-topic 2、水平扩展./bin/kafka-reassign-partitions.sh-execute-manual-assignment-json-file partitions-to

9、-move.json cat partitions-to-move.json:partitions:topic:my-topic,partition:1,replicas:1,4,把一个partition的replica从broker 1,2 迁移到 broker 1,4上,配置文件,producer,配置文件,consumer,配置文件,broker,Kafka 性能报告(A),Kafka 性能报告(B),Q&A,提问答疑,人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号