I am working on a web application (Angular 2 and Asp.net web API) that expected to be notified the user when some task has been created by another user(An entry on the Tasks table in the Database). Notification can be something similar to Facebook notification.
What are the technologies can be used to achieve this real-time notification? I am new to real time applications so please help me to choose the right path.
Real-time data is not cheap be it financially or overhead on resources.
To enable this using a Web Api would require long polling which is not the best way of doing it and have can be very costly on resources (Database hits every half-a-second!). This would give the appearance that data is real-time.
Alternatively one can look at SQL Service broker using sqldependency as signalr. The initial setup can be tricky. Signalr does have a list of limitations though.
I would suggest looking at technologies like RethinkDB or Firebase for real-time data feeds. There are financial cost implications though. One can also look at the combination of socket.io and react.js/node.js.
Companies like LinkedIn and AirBnb make use of Kafka which is distributed messaging system for real-time notifications. Facebook makes use of a combination of technologies.