Scalable Real-time Notification System with Fine-grained Policy Control using Apache Ignite
In the era of mobility, mobile push notification is one of the most powerful channel to deliver messages to users. However, how do we decide to send what message, to whom, under what frequency? Clearly, the what/who/when problem need to be precisely managed by polices to maximize user experience.
In this talk, we'd like to introduce you a scalable real-time notification system that supports arbitrary type of source and sink, with a fine-grained policy control framework implemented based on Apache Ignite. We'll discuss the following challenges during this talk:
a). How we design a streaming architecture to fetch real-time user preference for personalized notification sending.
b). How we design the data schema for a real-time system to seamlessly combine streaming and batch computed data together.
c). How to make sure the quota of each policy to be correctly accessed/updated across entire distributed messaging system.