This chapter covers
- Looking at basic Kafka monitoring
- Intercepting messages
- Measuring performance
- Observing the state of the application
So far, you’ve learned how to build a Kafka Streams application from the bottom up. You’ve worked with the high-level Kafka Streams DSL, and you’ve seen the power of using a declarative API. You’ve also learned about the Processor API and have seen how you can give up some convenience to gain more control in writing your streaming applications.
It’s now time to change gears a bit. You’re going to put on your forensic investigator hat and dig into your application from a different perspective. Your focus is going to shift from how you get things to work to what is going on. In some respects, the initial building of an application is the most comfortable part. Getting the application to run successfully, scale correctly, and work properly is always the more significant challenge. Despite your best efforts, there’s almost always a situation you didn’t account for.