This sounds great.
This is the traditional realtime processing use case: process messages and update a variety of databases.
Question: I typically think of real-time as a need for user-facing things, i.e. handling a user's requests before he gets bored and goes away. Is Storm set up for that? Or is it mostly meant to update a database with results rather than return them to a waiting process?