LINUX.ORG.RU

минимальные необходимые для rabbitmq торт

 ,


0

2

поясните за пользу rabbitmq на малых задачах оповещение на скажем так 100 клиентах одного сервера(webapi али rest какой али fastapi)

100 клиентов достаточно ли что бы кочегарить rabbitmq - али это(прикручивание кролика очередей) на таком количестве «постоянных» лёгких сессий - это «дорохо бохато»

сам не копенганен(надёюсь пока) - нет интуиции на каком масштабе mq начинает быть полезней своих издержек

all помоги , all сохрани

Ответ на: комментарий от annulen

эээ не вдупляю когда следует инстанцировать очередь как отдельную сущность

пока оно же вроде как «само» получится благодаря кратковременности самих сообщений - а события с клиентов и события от сервера в адрес отдельного клиента - естественным образом упорядочиваются моментом фиксации сервером в базе события

охота понять на каких масштабах начинается польза отдельной очереди

qulinxao3 ★★
() автор топика
Ответ на: комментарий от qulinxao3

Disclaimer: я не настоящий сварщик

  1. Очередь может быть удобна из чисто практических соображений. Например, если бэкэнд генерирует сообщения, а nginx-push-stream-module их раздаёт клиентам, то реализация бэкэнда упрощается
  2. Если время обработки сообщения в реальном сценарии может оказаться больше, чем интервал между ними, то очередь увеличивает надёжность и предотвращает потенциальное нарушение порядка
  3. Если потеря сообщений критична, то нужна очередь с записью на диск
annulen ★★★★★
()
Последнее исправление: annulen (всего исправлений: 1)
Ответ на: комментарий от sambo

ну нулевая гипотеза - «на вырост/что_бы_было/за_фсё_уплочено»

прст не вкуриваю когда очередь-кроликов имеет смысл прикручивать

в случаях:

a)зная об очередях ничего

б)зная об очередях(и прочих моделях акторов и прочей ботвы философов с обедами) всё

qulinxao3 ★★
() автор топика
Ответ на: комментарий от qulinxao3

Ну на моей практике очередь (celery) используется часто (даже там где можно тредами). В качестве основы для очереди можно что душе угодно. По факту нужна, при большом объеме данных на вход (например большое количство файлов на обработку передать) т.е. при длительных операциях и что бы не потерялось.

А очередь - ради очереди, можно конечно - если интересно.

sambo ★★
()
Последнее исправление: sambo (всего исправлений: 1)

Если не жалко несколько гигов на сервер, то почему нет. Но несмотря на популярность по соотношению перформанс/ресурсы не самое выгодное решение.

ya-betmen ★★★★★
()
Ответ на: комментарий от annulen

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

Т.е. производителью нет необходимости знать о том, кто потребляет его сообщения.

Begemoth ★★★★★
()

Из вопроса не понятно, что за клиенты, что за задача. Т.е. требования к протоколам, надёжности, производительности, безопасности.

Begemoth ★★★★★
()

Ставь кафку. С тройным резервированием. А где кластер кафки - там надо ставить зукипер. С тройным резервированием. А чтобы видеть, кто из них подох, разворачивай ELK. С тройным резервированием. Каждый компонент. Кроме того, для обеспечения надёжной связи понадобится DNS сервер (три) и циски (две, потому что иначе не хватит денег на три почтовика для оповещений о сбоях).

HE_KOT
()

Mq полезна когда у тебя есть задачи которые сложно решить без mq. Например несколько групп слушающих одно событие. Или дохулион сообщений когда нужно шардирование.

Если сильно много не надо - возьми redis streams. Если надо ещё меньше (один всем без заморочек либо 1:1) и уже есть база - слушай оплог/бинлог базы и выдели поле под лок

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от qulinxao3

Влезу в тред.

Слышал, были реализации mq для постгреса, может тут кто-то их юзал и отпишет про свой опыт.

И второе - если я хочу юзать например 1млрд сообщений, тот ли это инструмент? Или я неправильно понимаю суть mq. А то недавно на лоре читал, кто-то редис для этого юзал, и я тогда вообще запутался.

Пните, чего почитать об этом.

anonymous
()
Ответ на: комментарий от anonymous

Нашел что искал изначально - PgQ, и даже статья о нем на Хабре какая-то есть.

Пойду читать, почему оно локлесс и заодно размышлять, почему я раньше думал что skip locked будет достаточно.

anonymous
()
Ответ на: комментарий от qulinxao3

https://www.litres.ru/book/martin-kleppman-1733/vysokonagruzhennye-prilozheni...

https://www.litres.ru/book/kris-richardson-2184/mikroservisy-patterny-razrabo...

Это не то, что магически научит анона деталям каждой маргинальной технологии, но вполне сможет объяснить, когда для «миллиарда сообщений» нужна очередь, а когда достаточно гнать через табличку со skip locked.

HE_KOT
()