Kafka架构设计简介培训课件.ppt

Kafka架构设计简介 为什么要用消息系统? 解耦 扩展性 缓冲 可恢复性 灵活性 主要设计目标 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下: 支持离线实时、数据处理 O(1)持久化能力 高吞吐率 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输 Broker Producer Consumer Topic Partition 基础概念 Dont fear the filesystem! write (append) read (sequence) 利用磁盘缓存提高吞吐量 预读(read-ahead) 后写(write-behind) 消息的存储和缓存 消息的存储和缓存 Zero-copy → Replication 如何将partition的replicas均匀的分配到各个broker servers上面? Replication replica同步 消息传递语义 系统可以提供的几种可能的消息传递保障如下所示: 最多一次。 至少一次。 仅仅一次。 Producer API 参数: metadata.broker.list 不同于0.7,不需要给出zk的地址,而是给出一些broker地址 serializer.class partitioner.class request.required.acks producer.type sync,单条发送 async,buffer一堆请求后,再一起发送 compression.codec 支持none, gzip and snappy producer.type选择async的时候,需要关注如下配置: queue.buffering.max.ms  batch.num.messages  queue.buffering.max.messages queue.enqueue.timeout.ms Consumer API high-level 比较简单不用关心offset, 会自动的读zookeeper中该Consumer group的last offset low-level partition,broker,offset需要自己去管理

文档评论(0)

1亿VIP精品文档

相关文档