2014-11-25 2 views
1

Когда я пишу код для тестирования EventHub, который недавно был выпущен на шине служебной шины Azure.Azure ServiceBus Eventhub, является ли «смещение» доступным/долговечным, когда некоторые данные о событиях истекли?

Как есть очень мало статей онлайн и msdn также не имеют богатой документации о деталях центра событий. Поэтому я надеюсь, что кто-то может поделиться своим опытом по моему вопросу.

Для EventHub мы следующее заявление:

  • мы используем «смещение», чтобы вспомнить, где мы при чтении данных о событии из некоторого раздела

  • данные события на EventHub будет с истекшим сроком действия (автоматически?) после некоторого настраиваемого промежутка времени

Так что мой вопрос, может ли offset все еще доступен/долговечен, когда s ome данных события удаляется в результате истечения срока действия?

Например, мы имеем следующие данные об одном из раздела:

M1 | M2 | M3 | M4 (oldest --> latest) 

После запуска моей логики обработки, скажем, что я обработал M1 и M2, так что смещение будет началом M2 (когда использование исключительный режим).

Через некоторое время, и если мое обслуживание не работает в течение этого времени. M1 удаляется в результате истечения срока действия. поэтому раздел стал бы:

M2 | M3 | M4 | M.... (oldest -> latest) 

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

Мы также можем отобразить этот случай во время выполнения, когда мой потребительский сервер считывает данные события в eventhub, когда истек срок действия некоторых из самых старых данных событий, все еще доступен во время выполнения offset?

Спасибо за любое разделение этого вопроса.

ответ

0

Основываясь на том, как различные части documentationiswritten Я считаю, что вы начнете с начала текущего потока, как не желательно, если ваш starting offset больше недоступен. EventProcessorHost должны следовать аналогичным ограничениям. Поскольку sequence numbers - 64 бита, я ожидал бы, что один из них сможет выполнять функцию смещения внутри раздела, поскольку они монотонно увеличиваются, не будучи переработаны. offset должен иметь аналогичное свойство. Поэтому, если EventHubs разработаны разумным образом (например, аналогичные решения), тогда смещения внутри разделов могут сохраняться, несмотря на то, что они исчерпаны. Но поскольку я еще не испытал это сам, я буду очень недоволен, если это не так, и я ожидаю, что человек из Лазури сможет дать истинное подтверждение.

+0

Да, у меня такое же предположение, и я надеюсь, что лазурная команда уже знала об этом и реализовала ее в текущем выпуске sdk. – winterTTr

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

  • Нет связанных вопросов^_^