2016-10-23 18 views
0

В сценарии поиска событий аварийный клиент-клиент-клиент должен получить все пропущенные события-сообщения, опубликованные источником, пока он не работает.Какие брокеры поддерживают встроенное восстановление пропущенных сообщений в подпавках для разбитых клиентов?

Алгоритм восстановления (при условии, что это правильно) будет:

  1. подписаться на источник события (соединение 1)

  2. запроса сервер (соединение 2) все пропущенные сообщения (» пропущенный пакет ") с заданной отметки времени (непосредственно перед сбоем); и применять пропущенные события локально

  3. начать чтение сообщений из подписки, применяя те, у которых отметка времени больше последней, примененной из пропущенного пакета. (Здесь мы предполагаем, что все сообщения, опубликованные между подпиской и первым чтением, будут доставлены клиенту. Возможно, некоторые из первых прочитанных сообщений будут последними в пропущенном пакете, следовательно, предостережение).

Какие брокеры (маклеры сообщение, не-SQL базы данных, ...) поддерживают программирование этот процесс восстановления «из из коробки», т.е. не имея программировать на сервере (источник события) боковая сторона.

Спасибо.

ответ

1

Возможно, что-то, что вы ищете, это возможность «догнать подписку». Он полностью поддерживается Get Event Store. Но это на самом деле база данных, но имеет отличные темы, основанные на пабах/вспомогательных функциях, с http API.

Возможно, вы еще не знаете, что вы можете сделать это самостоятельно, просто сделайте подписку, основанную на потребителях, где потребитель знает последнюю контрольную точку (никогда не временную метку, которая может привести к неприятным проблемам параллелизма), что там, где успешно обрабатывается , а не производителя. Таким образом, клиент всегда может вернуться туда, где он остался.

Надеюсь, что это поможет