我正在开发一个Web应用程序(Angular 2和Asp.net Web API),该应用程序希望在其他用户创建某个任务时通知用户(数据库中的Tasks表上的条目)。通知可以类似于Facebook通知。
可以使用哪些技术来实现此实时通知? 我是实时应用的新手,所以请帮我选择正确的路径。
答案 0 :(得分:2)
实时数据在财务上或资源上的开销并不便宜。
要使用Web Api启用此功能,需要long polling这不是最好的方法,并且资源成本非常高(数据库每半秒钟就会命中一次!)。这样可以看出数据是实时的。
或者,可以查看SQL Service broker using sqldependency as signalr。初始设置可能很棘手。信号器确实有一系列限制。
我建议您查看RethinkDB或Firebase等技术,以获取实时数据Feed。但是有财务成本的影响。您还可以查看socket.io和react.js / node.js的组合。
像LinkedIn and AirBnb这样的公司使用Kafka作为实时通知的分布式邮件系统。 Facebook使用technologies的组合。
答案 1 :(得分:1)
这取决于您要使用的通知类型。
例如Facebook支持这两种类型。