title: Kafka Streams Architecture
body: <p>I am hoping to clarify a few ideas on Kafka Streams from an architectural standpoint.</p>
  
  <p>I understand the stream processing and data enrichment uses, and that the data can be reused by other applications if pushed back into Kafka, but what is the correct implementation of a Streams Application?</p>
  
  <p>My initial thoughts would be to create an application that pulls in a table, joins it to a stream, and then fires off an event for each entry rather than pushing it back into Kafka. If multiple services use this data, then each would materialize their own table, right?</p>
  
  <p>And I haven't implemented a test application yet, which may answer some of these questions, but I think is a good place for planning. Basically, where should the event be triggered, in the streaming app or in a separate consumer app?</p>