Size: a a a

2020 December 09

AH

Ayrat Hudaygulov in pro.net
Shukurdin Aidarov
пипец всем сообщениям(
хорошие гарантии!11
источник

AH

Ayrat Hudaygulov in pro.net
прям топчик, да
источник

VS

Vasily Shapenko in pro.net
Сберфуд, шоле?
источник

AH

Ayrat Hudaygulov in pro.net
Shukurdin Aidarov
Всем привет, я опять со своей болью.

Есть сервис который читает сообщения из кафки и отправляет его клиенту по веб-сокету. Недоставленные сообщения сервис хранит у себя в памяти пока действует ttl. Отправленые же сообщения он удаляет после получения потверждения  от клиента (гарантийная доставка).

Дело в том что инстансов этого сервисе очень много и сообщений в кафке много, но одно сообщение предназначено для одного клиента. То есть клиент создает соединение с каким определенным инстансом сервиса, поэтому каждому инстансу приходится читать копию сообщения, чтобы можно было отправить его клиенту. Из-за этого в каждом инстансе становится очень много сообщений, которые доставить невозможно потому что соединение с нужным клиентом только на одном инстансе.
Чтобы сервис не упал из-за нехватки памяти мы сделали ограничение на максимальное количество сообщений в сервисе. Но из-за этого у нас увеличилось время доставки сообщения клиенту (лаг в кафке около 1500 сообщений).

Так вот думаем не хранить сообщения в памяти а хранить в бд - она конечно не реизновая, но в нее гораздо больше влезет. Можем чистить бд раз в день.

Как считаете норм будет или нет?
используй кафку вместо памяти коли она у вас есть
источник

AH

Ayrat Hudaygulov in pro.net
обработал сообщение, если доставил - збс. недоставил - кинул в кафку
источник

н

невидимка 🇧🇾... in pro.net
советовать кафку на дотнете
источник

M

Mikhail in pro.net
Ayrat Hudaygulov
используй кафку вместо памяти коли она у вас есть
+
А чтобы инстансы только своё читали можно как-то наверное хитро по партициям раскидать (эт чисто теория, кафку мало трогал)
источник

SA

Shukurdin Aidarov in pro.net
Ayrat Hudaygulov
А если сервис упадет, что станет с гарантиями доставки?
Там есть сомнительная попытка увеличить надежность, путем сохранения всех сообщений в редис в момент падения.
источник

M

Mikhail in pro.net
Shukurdin Aidarov
Там есть сомнительная попытка увеличить надежность, путем сохранения всех сообщений в редис в момент падения.
Ахахахахах
источник

AH

Ayrat Hudaygulov in pro.net
Shukurdin Aidarov
Там есть сомнительная попытка увеличить надежность, путем сохранения всех сообщений в редис в момент падения.
извини, тяжело смеяться
источник

M

Mikhail in pro.net
>есть нормальное решение
>переложим из Кафки в очередь в озу а сохранять при падении будем в редис
источник

AH

Ayrat Hudaygulov in pro.net
Вот да, есть же уже Кафка
источник

SA

Shukurdin Aidarov in pro.net
Ayrat Hudaygulov
обработал сообщение, если доставил - збс. недоставил - кинул в кафку
Тогда количество сообщений будут возрастать по экспоненте.
Если есть три инстанса, то одно сообщение прочитатают в 3-х экземплярах. В лучшем случае 2 из них опять пойдту в кафку.
источник

SA

Shukurdin Aidarov in pro.net
Ayrat Hudaygulov
извини, тяжело смеяться
😂
источник

M

Mikhail in pro.net
Shukurdin Aidarov
Тогда количество сообщений будут возрастать по экспоненте.
Если есть три инстанса, то одно сообщение прочитатают в 3-х экземплярах. В лучшем случае 2 из них опять пойдту в кафку.
Эм
источник

M

Mikhail in pro.net
Что
источник

AH

Ayrat Hudaygulov in pro.net
Shukurdin Aidarov
Тогда количество сообщений будут возрастать по экспоненте.
Если есть три инстанса, то одно сообщение прочитатают в 3-х экземплярах. В лучшем случае 2 из них опять пойдту в кафку.
но... ведь... есть топики и группы...
источник

AH

Ayrat Hudaygulov in pro.net
уапще неясно!!1
источник

RB

Roman Bukin in pro.net
Shukurdin Aidarov
Там есть сомнительная попытка увеличить надежность, путем сохранения всех сообщений в редис в момент падения.
У вас инфра онпремис или клауд?)
источник

SA

Shukurdin Aidarov in pro.net
Roman Bukin
У вас инфра онпремис или клауд?)
хуйня какая та у нас)
источник