0

我正在設計一個通知服務(服務器)。我可以有兩種通知:一種立即交付,另一種在未來某個時間交付。基於TIme的通知架構

是否有框架來處理未來的通知?

我知道我可以編寫後臺工作人員,例如可以採樣數據庫以查找需要發送的通知,但是我肯定有數百萬人試圖解決這個問題,我寧願重複使用經過驗證的解決方案。

我還沒有決定在框架/數據庫。我想我應該使用vertx.io或Jetty(WebSockets)推送通知。我不確定關於數據庫,因爲我希望它支持那些未來的通知。

更新: 你會如何建議我應該在數據庫保存數據的「活」的通知(它存在於用戶的通知收件箱),併爲今後的通知?

更新: 我想到的是使用以下任一:

  1. 碼頭+ Spring爲WebSocket的& SockJS +石英
  2. Vertx.io(支持的WebSocket和Sockjs)

任何建議?

+0

[Spring Scheduling](http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html)? – rmlan

+0

不確定這是多大的可擴展性。對於每一個新創建的通知,我都會爲它創建一份工作/安排一份工作? –

回答

1

一種方法是將通知傳遞給調度組件。調度組件使用所有通知,將其存儲並定期檢查以查看是否將發送通知。

這將允許將偵聽器附加到通知,並且不會在發佈方端堆積通知。

+0

這就是一般的想法 - 我同意。我的問題是關於在我們自己實現之前已經存在的框架/解決方案 –

+1

確保您正在檢查什麼,如果有的話,計劃每個滴答,並不輪詢每個工作,看看它是否應該每次運行。如果你正在使用Java Quartz,那麼可以把它放在你的手中。 – TheFiddlerWins

+0

@TheFiddlerWins,+1爲石英 – techuser