Chapter 9. Trident

 

This chapter covers

  • Trident and why it’s useful
  • Trident operations and streams as a series of batched tuples
  • Kafka, its design, and how it aligns with Trident
  • Implementing a Trident topology
  • Using Storm’s distributed remote procedure call (DRPC) functionality
  • Mapping native Storm components to Trident operations via the Storm UI
  • Scaling a Trident topology

We’ve come a long way in Storm Applied. Way back in chapter 2 we introduced Storm’s primitive abstractions: bolts, spouts, tuples, and streams. Over the course of the first six chapters, we dug into those primitives, covering higher-level topics such as guaranteed message processing, stream groupings, parallelism, and so much more. Chapter 7 provided a cookbook approach to identifying various types of resource contention, whereas chapter 8 took you to a level of abstraction below Storm’s primitive abstractions. Understanding all of these concepts is essential to mastering Storm.

9.1. What is Trident?

9.2. Kafka and its role with Trident

9.3. Problem definition: Internet radio

9.4. Implementing the internet radio design as a Trident topology

9.5. Accessing the persisted counts through DRPC

9.6. Mapping Trident operations to Storm primitives

9.7. Scaling a Trident topology

9.8. Summary