Как использовать Apache Pulsar для обработки заказанных партий

Рассмотрим следующий пример:

  • В мире существуют десятки тысяч магазинов, в которых следует регистрировать внутренние процессы.

  • Для каждого местоположения магазина порядок внутренних задач процесса должен быть сохранен

  • Глобального списка магазинов нет. Задачи процесса могут летать из одного места, без предварительного знания об этом месте

  • Запись задач процесса имеет решающее значение, ни одна задача не должна быть пропущена (аварийное переключение)

Я понимаю, что для того, чтобы сохранить порядок процессов в каждом месте, мне нужно создать тему для каждого места в магазине, как это:

настойчив:// публичный / по умолчанию / магазин-Сан --франциско

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

Проблема в том, что, поскольку я заранее не знаю местоположения, каков наилучший способ создания пользовательского ad-hoc для каждого неизвестного местоположения?

2 ответа

Впервые в Pulsar, но я понимаю, что брокер автоматически создаст тему, если таковая не существует. Кроме того, поскольку вы можете выводить список тем из утилиты администратора консоли, я предполагаю, что вы также можете делать это программно, вести текущий список тем / потребителей и создавать новый, если появляется новая тема.

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

Другие вопросы по тегам