the best of apache kafka architecture
play

The Best of Apache Kafka Architecture Ranganathan Balashanmugam - PowerPoint PPT Presentation

Apache: Big Data 2015 The Best of Apache Kafka Architecture Ranganathan Balashanmugam @ran_than Hell Budapest About Me Graduated as Civil Engineer. <dev> 10+ years </dev> <Thoughtworker from=India/>


  1. Apache: Big Data 2015 The Best of Apache Kafka Architecture Ranganathan Balashanmugam @ran_than

  2. Helló Budapest

  3. About Me Graduated as Civil Engineer. ❏ <dev> 10+ years </dev> ❏ <Thoughtworker from=”India”/> ❏ Organizer of Hyderabad Scalability Meetup with 2000+ ❏ members.

  4. “Form follows function.” - Louis Sullivan

  5. Gravity Dam Indirasagar Dam, India img src: http://www.montanhydraulik.in

  6. Forces on a gravity dam Dam Head Water weight Tail Water Uplift

  7. publish-subscribe messaging service ❏ distributed commit/write-ahead log ❏ “producers produce, consumers consume, in large distributed reliable way -- real time”

  8. Why Kafka? DBs ❏ Logs ❏ Brokers ❏ HDFS ❏ “For highly distributed messages, Kafka stands out.”

  9. Kafka Vs ________ src: https://softwaremill.com/mqperf/

  10. Timeline Open sourced by LinkedIn, as version 0.6 Graduated from Apache Several Engineers who built Kakfa create Confluent Latest stable - 0.8.2.1 2011 2012 2013 2014 2015

  11. A Kafka Message key key CRC magic attributes message length message content length message kafka.message.Message Change requested:KAFKA-2511

  12. Producers - push Request => RequiredAcks Timeout [TopicName [Partition MessageSetSize MessageSet]] Kafka Broker Response => [TopicName [Partition ErrorCode Offset]] org.apache.kafka.clients.producer.KafkaProducer

  13. Topic Remove messages based on number of time size messages kafka.common.Topic

  14. Partitions Serves: Horizontal scaling, Parallel consumer reads kafka.cluster.Partition

  15. Consumers - pull Consumer 2 Consumer 1 kafka.consumer.ConsumerConnector, kafka.consumer.SimpleConsumer

  16. Consumer offsets committing and fetching consumer offsets img src: http://www.reynanprinting.com/photos/undefined/impresion-offset1.jpg

  17. kafka:// - protocol “Binary protocol over TCP” Metadata ● Send ● Fetch ● Offsets ● Offset commit ● Offset fetch ●

  18. Mechanical Sympathy "The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry." - Henry Peteroski Image source: http://www.theguide2surrey.com

  19. Persistence “Everything is faster till the disk IO.”

  20. Disk faster than RAM src: http://queue.acm.org/detail.cfm?id=1563874

  21. Linear Read & Writes On high level there are only two operations: fetch messages from a Append to end of log partition beginning from a particular message id sequential file I/O

  22. “Let us play pictionary”

  23. Linux Page Cache “Kafka ate my RAM”

  24. ZeroCopy src: http://www.ibm.com/developerworks/library/j-zerocopy/

  25. Batching small latency to improve throughput img src: https://prashanthpanduranga.files.wordpress.com/2015/05/tirupati.jpg

  26. Compression bandwidth is more expensive per-byte to scale than disk I/O, CPU, or network bandwidth capacity within a facility kafka.message.CompressionCodec

  27. Log compaction kafka.log.LogCleaner, LogCleanerManager img src: http://kafka.apache.org/083/documentation.html

  28. Message Delivery Atleast once Atmost once Exactly once

  29. Replication un-replicated = replication factor of one

  30. Quorum based Better latency ● To tolerate “f” failures, need “2f+1” replicas ●

  31. Primary-backup replication Topic 1 Topic 1 Topic 1 Topic 2 Topic 2 Topic 2 Topic 3 Topic 3 Topic 3 Broker 1 Broker 2 Broker 3 Broker 4

  32. ZooKeeper cluster coordinator

  33. THANK YOU For questions or suggestions: Ran.ga.na.than B ranganab@thoughtworks.com @ran_than

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend