What open source system does Netflix, Twitter, LinkedIn, Uber, and AirBnb have in common that enables them to process hundreds of billions of messages per day? Apache Kafka. In today's enterprises, working with large amounts of data is no longer limited to internet-scale companies - every IT professional must be prepared with solutions to capture, maintain, and move terabytes of data reliably and at blistering speeds. Apache Kafka was designed to address large-scale, data movement problems and has enabled thousands of companies large and small to achieve successes not otherwise achievable with existing messaging systems. In this course, Getting Started with Apache Kafka, you will get a thorough understanding of Apache Kafka's architecture and how it has adopted proven distributed systems design principles that enable it to scale and perform reliably. Then, you will breakdown this architecture into individual components and learn about each in great detail. Finally, you will use the components in action with common scenarios and walkthough how Apache Kafka solutions can be developed in Java. By the end of the course, you will have an understanding and appreciation for why Apache Kafka is taking the industry by storm but most importantly, you will come away with confidence and knowledge to build your next generation big data solutions with Apache Kafka.
Course Overview Hello, and welcome to my course, Getting Started with Apache Kafka. I am Ryan Plant, a software engineer, solutions architect, and in general, a distributed systems addict. Chances are you have a profile on LinkedIn, and frequent the site often. You're also likely to be a subscriber to Netflix and have interacted with its service on your smartphone, web browser, or TV. Perhaps you've gotten a ride with Uber or stayed in an Airbnb rental. If any of these are the case, congratulations, whether you knew it or not, you're a user of a system called Apache Kafka. Apache Kafka provides the messaging infrastructure of these and many more massive software as a service applications we use every day. Each of these services produce hundreds of billions of messages that amount to several hundred terabytes of data being moved around and consumed per day. That's truly big data. Whether you're a small or large enterprise, in this day and age you're likely drowning in data and struggling to figure out how to move it where it needs to be to enable an ever-increasing number of use cases. It's not an easy problem, but this is why I produced this course, to introduce you to Apache Kafka and provide you with an overview of how it can help you solve these problems today and for the future. In this course, you will get a thorough understanding of Apache Kafka's architecture, and how it has adopted proven distributed systems design principles that enable it to scale and perform reliably. We will break down this architecture into individual components, and cover each in great detail. We will demonstrate the components in action with common scenarios and walkthroughs how Apache Kafka solutions can be developed in Java. By the end of the course, you will have an understanding and appreciation for why Apache Kafka is taking the industry by storm, but most importantly, you will come away with confidence and knowledge to build your own next generation big data solutions with Apache Kafka. I hope you'll invest your valuable time and allow me to show you how to get started with Apache Kafka.