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 -
- real-time notifications (send notification directly user if online/available)
- 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
Post a Comment