基于时间的通知架构

TIme-based Notification Architecture

我正在设计一个通知服务(服务器)。我可以有两种通知:一种是立即发送,另一种是将来某个时间发送。

是否有处理未来通知的框架?

我知道我可以编写后台工作人员,例如可以对数据库进行采样以查找需要发送的通知,但我确信已经有数百万人试图解决这个问题,我更愿意重用经过验证的解决方案.

我还没有决定框架/数据库。我在想我应该使用 vertx.io 或 Jetty (WebSockets) 进行推送通知。我不确定数据库,因为我希望它支持那些未来的通知。

更新: 你会如何建议我应该将数据保存在数据库中以用于 "live" 通知(存在于用户收件箱中的通知)和未来的通知?

更新: 我正在考虑使用:

  1. Jetty + Spring 用于 WebSocket 和 SockJS + Quartz
  2. Vertx.io(支持 Websocket 和 Sockjs)

有什么推荐吗?

一种方法是将通知传递给计划组件。调度组件使用所有通知,将其存储并定期检查以查看是否应发送通知。

这将允许将侦听器附加到通知,而不是在发布者端堆积通知。