- 278 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Building Data Streaming Applications with Apache Kafka
About This Book
Design and administer fast, reliable enterprise messaging systems with Apache KafkaAbout This Book⢠Build efficient real-time streaming applications in Apache Kafka to process data streams of data⢠Master the core Kafka APIs to set up Apache Kafka clusters and start writing message producers and consumers⢠A comprehensive guide to help you get a solid grasp of the Apache Kafka concepts in Apache Kafka with pracitcalpractical examplesWho This Book Is ForIf you want to learn how to use Apache Kafka and the different tools in the Kafka ecosystem in the easiest possible manner, this book is for you. Some programming experience with Java is required to get the most out of this bookWhat You Will Learn⢠Learn the basics of Apache Kafka from scratch⢠Use the basic building blocks of a streaming application⢠Design effective streaming applications with Kafka using Spark, Storm &, and Heron⢠Understand the importance of a low -latency, high- throughput, and fault-tolerant messaging system⢠Make effective capacity planning while deploying your Kafka Application⢠Understand and implement the best security practicesIn DetailApache Kafka is a popular distributed streaming platform that acts as a messaging queue or an enterprise messaging system. It lets you publish and subscribe to a stream of records, and process them in a fault-tolerant way as they occur.This book is a comprehensive guide to designing and architecting enterprise-grade streaming applications using Apache Kafka and other big data tools. It includes best practices for building such applications, and tackles some common challenges such as how to use Kafka efficiently and handle high data volumes with ease. This book first takes you through understanding the type messaging system and then provides a thorough introduction to Apache Kafka and its internal details. The second part of the book takes you through designing streaming application using various frameworks and tools such as Apache Spark, Apache Storm, and more. Once you grasp the basics, we will take you through more advanced concepts in Apache Kafka such as capacity planning and security.By the end of this book, you will have all the information you need to be comfortable with using Apache Kafka, and to design efficient streaming data applications with it.Style and approachA step-by âstep, comprehensive guide filled with practical and real- world examples
Frequently asked questions
Information
Building Storm Applications with Kafka
- Introduction to Apache Storm
- Apache Storm architecture
- Brief overview of Apache Heron
- Integrating Apache Storm with Apache Kafka (Java/Scala example)
- Use case (log processing)
Introduction to Apache Storm
Storm cluster architecture
- Nimbus: The master node of Storm cluster. All other nodes in the cluster are called worker nodes. Nimbus distributes data among the worker nodes and also assigns task to worker nodes. Nimbus also monitors for worker failure and if a worker fails, it reassigns a task to some other worker.
- Supervisors: Supervisors are responsible for completing tasks assigned by Nimbus and sending available resource information. Each worker node has exactly one supervisor and each worker node has one or more worker process and each supervisor manages multiple worker processes.
The concept of a Storm application
- Spout: Spout is used to read the stream of data from an external source system and pass it to topology for further processing. Spout can be either reliable or unreliable.
- Reliable spout: Reliable spout is capable of replaying the data in case it failed during the processing. In such a case, spout waits for acknowledgement for each event it has emitted for further processing. Remember this may cost more processing time but is extremely helpful for those applications for which we cannot manage to lose a single record for processing, such as...
Table of contents
- Title Page
- Copyright
- Credits
- About the Authors
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Preface
- Introduction to Messaging Systems
- Introducing Kafka the Distributed Messaging Platform
- Deep Dive into Kafka Producers
- Deep Dive into Kafka Consumers
- Building Spark Streaming Applications with Kafka
- Building Storm Applications with Kafka
- Using Kafka with Confluent Platform
- Building ETL Pipelines Using Kafka
- Building Streaming Applications Using Kafka Streams
- Kafka Cluster Deployment
- Using Kafka in Big Data Applications
- Securing Kafka
- Streaming Application Design Considerations