Size: a a a

2021 January 30

AD

Aaron Delarge in pro.elixir
Bogdan
Да это понятно.  Вопрос выше же был.
Я кроме конечного автомата в агенте/редисе не вижу вариантов, мб более опытные господа подскажут
источник

B

Bogdan in pro.elixir
Я думал стейт поднять на стороне продюсера. Редис как-то сложно.
источник

B

Bogdan in pro.elixir
Źmićer Rubinštejn
Это решается на принимающей стороне и только там
Можешь пояснить почему так?
источник

AD

Aaron Delarge in pro.elixir
Редис не так сложно, как кажется, плюс у него есть прикольные штуки для работы в состоянии гонки. Думаю, если два потока могут начать работать с одними данными, это самое то
источник

B

Bogdan in pro.elixir
Aaron Delarge
Редис не так сложно, как кажется, плюс у него есть прикольные штуки для работы в состоянии гонки. Думаю, если два потока могут начать работать с одними данными, это самое то
Пока не очень хочу отдельный сервис ставить. Стейт не большой будет.
источник

B

Bogdan in pro.elixir
Aaron Delarge
Редис не так сложно, как кажется, плюс у него есть прикольные штуки для работы в состоянии гонки. Думаю, если два потока могут начать работать с одними данными, это самое то
И проблема не в том что два потока могут работать с одними данными.
источник

B

Bogdan in pro.elixir
Кролик ее решает.
источник

B

Bogdan in pro.elixir
Консумер какое-то время работает с данными, пока не обработает не маркирует их как обработанные.

+ в очереди могут оставаться какие-то сообщения еще не вытянутые от туда.

Получается чтобы избежать дубликатов мне нужно дождаться двух событий:
1.  Подождать пока консумеры обработают и промаркируют все данные как выполнененые.
2. Дождаться чтобы в очереди было 0 сообщений

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

B

Bogdan in pro.elixir
Я думаю это решить путем поднятия стейта на продюсере(чтобы он сверял на уникальность новые сообщения)  и грузил только те которых ранее там не было.
источник

B

Bogdan in pro.elixir
Но @Virviil говорит это нужно делать на консумере
источник

ML

Maksim Lapshin in pro.elixir
Правильно говорит
источник

ML

Maksim Lapshin in pro.elixir
Консумить надо идемпотентно или отказывайся от шины и запили нормальный, человеческий монолит без мозгогрызни
источник

B

Bogdan in pro.elixir
Да оно монолит просто горизонтально масштабируется.

В чем риски создания стейта на продюсере, можете конкретно сказать?
источник
2021 January 31

ML

Maksim Lapshin in pro.elixir
Bogdan
Да оно монолит просто горизонтально масштабируется.

В чем риски создания стейта на продюсере, можете конкретно сказать?
Он упадет и ты его потеряешь
источник

B

Bogdan in pro.elixir
Maksim Lapshin
Он упадет и ты его потеряешь
Cпасибо. Значит надо реально какой-нибудь Redis поднять.
источник

ML

Maksim Lapshin in pro.elixir
Bogdan
Cпасибо. Значит надо реально какой-нибудь Redis поднять.
Он упадет и ты его потеряешь :)
источник

AF

Andrey Fadeev in pro.elixir
Bogdan
Да оно монолит просто горизонтально масштабируется.

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

AF

Andrey Fadeev in pro.elixir
Ну или существующую, но не ту
источник

B

Bogdan in pro.elixir
Maksim Lapshin
Он упадет и ты его потеряешь :)
Его в кластере нельзя задеплоить? Просто отказывать от шины не хочется совсем 🙂
источник

B

Bogdan in pro.elixir
Andrey Fadeev
Подозреваю, что вопросы возникают от того, что это выглядит как попытка решить несуществующую проблему. Почему нужно избегать дубликатов в очереди?
Эти данные очень не желательно обрабатывать по два раза.
источник