0

我正在开发一个 Web 应用程序(Angular 2 和 Asp.net Web API),当另一个用户创建了某个任务(数据库中的任务表上的一个条目)时,它会通知用户。通知可以类似于 Facebook 通知。

可以使用哪些技术来实现这种实时通知?我是实时应用程序的新手,所以请帮助我选择正确的路径。

4

2 回答 2

3

实时数据并不便宜,无论是财务还是资源开销。

要使用 Web Api 实现这一点,需要长时间轮询,这不是最好的方法,而且资源成本可能非常高(数据库每半秒点击一次!)。这将使数据看起来是实时的。

或者,可以查看使用 sqldependency 作为 signalr 的 SQL 服务代理。初始设置可能很棘手。Signalr 确实有一系列限制。

我建议将RethinkDBFirebase等技术用于实时数据馈送。但也有财务成本影响。也可以看看socket.io和react.js/node.js的组合。

LinkedIn 和 AirBnb等公司使用Kafka分布式消息系统来实时通知。Facebook 使用多种技术

于 2016-05-11T08:04:28.317 回答
1

这取决于您要使用哪种通知。

  • 可以使用WebSockets创建一个在用户浏览网站时向用户显示通知的传统通知系统。服务是https://pusher.com
  • 即使用户没有浏览网站,也可以传递一种新的类似应用程序的通知。例如,它们受 Chrome 支持,可以使用 W3C Push API(连同服务工作者和通知 API)创建。一个服务是https://pushpad.xyz(我是创始人)

例如 Facebook 支持这两种类型。

于 2016-05-11T13:34:43.493 回答