Я предвзят, поскольку работаю в этой компании, но это легко сделать с помощью Drools Kinesys Analytics.
Просто имейте в виду, что вам нужно разделить на части, если у вас много пользователей, так как все должно храниться в памяти все время. И каждый осколок обрабатывается одним узлом.