https://www.weblineindia.com/no/blog/building-scalable-push-notification-system/