0

Я разрабатываю службу уведомлений (сервер). У меня могут быть два вида уведомлений: один, который доставляется немедленно, а другой - в будущем.Архитектура уведомлений на основе TIme

Есть ли рамки для обработки будущих уведомлений?

Я знаю, что могу написать работника фона, который может, например, попробовать DB, чтобы найти уведомление, которое нужно отправить, но я уверен, что миллионы уже пытались решить эту проблему, и я предпочел бы использовать проверенное решение.

Я еще не определился с каркасом/БД. Я думаю, я должен использовать либо vertx.io, либо Jetty (WebSockets) для push-уведомления. Я не уверен относительно БД, потому что я хотел, чтобы он поддерживал эти будущие уведомления.

Update: Как вы порекомендуете мне сохранить данные в БД для «живых» уведомлений (уведомления, которые существуют в пользовательском InBox) и для будущих уведомлений?

Update: Я имею в виду, используя либо:

  1. Jetty + 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

Thats the general idea - Я согласен. Мой вопрос был о структурах/решениях, которые уже существуют там до внедрения нашими пользователями. –

+1

Убедитесь, что вы проверяете, что, если что угодно, запланировано пометить и не опросить каждое задание, чтобы посмотреть, будет ли он запускаться каждый раз вместо этого. Если вы используете Java Quartz, можете снять это с ваших рук. – TheFiddlerWins

+0

@TheFiddlerWins, +1 для кварца – techuser

Смежные вопросы