architecture - How to design a notification web-service -


i looking design notification web-service joining of huge amount of data. here's use-case: have cassandra table 'users' has user info , 'interests'. user interested in food , furniture. table can huge (potentially millions of records) , user's interests may change frequently.

we have stream of events coming service (say kafka) different topics furniture, electronics, food, economy etc. these stream of events in huge number(thousands).

i want able notify users when interested has been received. these can of 2 types -

  1. real-time notifications (send notification directly user if online/available)
  2. store notifications somewhere when users available, notifications can shown/replayed

this i've thought far (since have experience akka): using akka clustering (with 3 nodes) event comes in, query cassandra table users need notified (those fields in cassandra table indexed performance). post notification whichever pub-sub queue(kafka etc) , store in same cassandra 'users' table (for later consumption/replay)

i've heard can done efficiently in spark streaming well, not sure how fits spark's dstream/rdd model though.

can please advice how scale out system or if other technology can used (like spark etc?) ?


Comments

Popular posts from this blog

angularjs - ADAL JS Angular- WebAPI add a new role claim to the token -

php - CakePHP HttpSockets send array of paramms -

node.js - Using Node without global install -