3 Designing a Kafka project

 

This chapters covers

  • Designing a real-world Kafka project
  • Determining which data format to use
  • Existing issues impacting data usage
  • Deciding when data transformation takes place
  • How Kafka Connect helps us start a data-streaming path

In our previous chapter, we saw how we can work with Kafka from the command line and how to use a Java client. Now, we will expand on those first concepts and look at designing various solutions with Kafka. We will discuss some questions to consider as we lay out a strategy for the example project we’ll start in this chapter. As we begin to develop our solutions, keep in mind that, like most projects, we might make minor changes along the way and are just looking for a place to jump in and start developing. After reading this chapter, you will be well on your way to solving real-world use cases while producing a design to facilitate your further exploration of Kafka in the rest of this book. Let’s start on this exciting learning path!

3.1 Designing a Kafka project

3.1.1 Taking over an existing data architecture

3.1.2 A first change

3.1.3 Built-in features

3.1.4 Data for our invoices

3.2 Sensor event design

3.2.1 Existing issues

3.2.2 Why Kafka is the right fit

3.2.3 Thought starters on our design

3.2.4 User data requirements

3.2.5 High-level plan for applying our questions

3.2.6 Reviewing our blueprint

3.3 Format of your data

3.3.1 Plan for data

3.3.2 Dependency setup

Summary

References