Pulsar много где уже стоит. Вопрос, что мерить много или мало. Kafka, конечно лучше раскручена.
Ну, я вот не нашел год назад ничего подробного про эксплуатацию пульсара, так что не рискнул в продакшен тащить. Тем более без платной поддержки с SLA )
У меня просто любимый кейс - очень много (десятки-сотни миллионов) топиков с небольшим числом событий (0-100). Ну и 10K MPS на все это. Топики долгоживущие, гарантии нужны приличные (работа в кластере, лучше всего между ДЦ, персистанс и т.п.) Кафка тут не живет нормально
Очередь событий на пользователя, очередь событий на активный платеж и т.п. Да даже тривиальный server messaging при большом числе активных и полуактивных пользователей требует примерно такое число разных очередей. Ну и всякие паттерны типа персистентных акторов, cadence с сигналами и т.п. требуют очень много независимых небольших очередей.
Если можно не экономить очереди, то многие задачи с "конкурентностью" начинают выглядеть простыми (типа очередь на счет со всеми операциями, очередь на изменение состояния профиля и так далее)
Если можно не экономить очереди, то многие задачи с "конкурентностью" начинают выглядеть простыми (типа очередь на счет со всеми операциями, очередь на изменение состояния профиля и так далее)
На самом деле - отдельная очередь на каждый тип сообщения
На самом деле - отдельная очередь на каждый тип сообщения
Неа. Так как мне важна последовательность изменений счета (порядок), а не "все рефанды идут подряд". Т.е. очередь как инструмент сериализации (в смысле БД), а не как транспорт.
Неа. Так как мне важна последовательность изменений счета (порядок), а не "все рефанды идут подряд". Т.е. очередь как инструмент сериализации (в смысле БД), а не как транспорт.
То есть отдельные очереди для всех типов сообщений каждого инстанса агрегата
Ну, когда ты в базе делаешь "select for update" - то получаешь очередь событий на изменение объекта. Но она не умеет жить долго, например. А тут примерно про то же, но эта очередь надежная и долгоиграющая.