We have a requirement where intranet user can subscribe to a news channels(taxonomy values) and should receive a notification when a news article is published by the content editor in Sharepoint online.
1. The number of intranet users 40,000.
2. Approximate subscribers to channels 20,000
3. Max Channels subscribed by user 10
So need suggestion on architecture :) to verify if any unidentified catch.
1. User subscriptions stored in azure table(useremail, Guids of channels subscribed(taxonomy terms)
2. Remote event reciever to store the message in azure service bus queue when the article is published
3. Worker role 1 to read the queue message and filter out the users from azure table based on channels of the article and store message in email sending queue.
4. Worker role 2 to read the email sending queue to send emails using smtp.
Is this is a good idea or any flaws in it or any other best option? Also best way of processing these queues either in batches on immediate.