我正在开发一个 Web 应用程序(Angular 2 和 Asp.net Web API),当另一个用户创建了某个任务(数据库中的任务表上的一个条目)时,它会通知用户。通知可以类似于 Facebook 通知。
可以使用哪些技术来实现这种实时通知?我是实时应用程序的新手,所以请帮助我选择正确的路径。
我正在开发一个 Web 应用程序(Angular 2 和 Asp.net Web API),当另一个用户创建了某个任务(数据库中的任务表上的一个条目)时,它会通知用户。通知可以类似于 Facebook 通知。
可以使用哪些技术来实现这种实时通知?我是实时应用程序的新手,所以请帮助我选择正确的路径。
实时数据并不便宜,无论是财务还是资源开销。
要使用 Web Api 实现这一点,需要长时间轮询,这不是最好的方法,而且资源成本可能非常高(数据库每半秒点击一次!)。这将使数据看起来是实时的。
或者,可以查看使用 sqldependency 作为 signalr 的 SQL 服务代理。初始设置可能很棘手。Signalr 确实有一系列限制。
我建议将RethinkDB或Firebase等技术用于实时数据馈送。但也有财务成本影响。也可以看看socket.io和react.js/node.js的组合。
LinkedIn 和 AirBnb等公司使用Kafka分布式消息系统来实时通知。Facebook 使用多种技术。
这取决于您要使用哪种通知。
例如 Facebook 支持这两种类型。