Size: a a a

Архитектура ИТ-решений

2021 April 16

VR

V R in Архитектура ИТ-решений
не знаю из БД ли - нужны требования. Но, если это список календарей из БД и (согласно требованиям событий не так много, как и пользователей) - то здесь в принципе простор для реализации вплоть до расчета предварительного в памяти на ближайших N часов :) - в общем - могут быть варианты... Думаю что тут масса подходов в реализации
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, кстати, как раз для мобилки очень полезно делать сокеты (так как пуши идут иногда медленно-медленно)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Угу. Я предложил самую простую и достаточно универсальную )
источник

PD

Phil Delgyado in Архитектура ИТ-решений
И которую можно и на кластере использовать, например )
источник

p

pragus in Архитектура ИТ-решений
Я про интернеты больше, а не сами мобильные устройства.  Обычный тетеринг
источник

G

George in Архитектура ИТ-решений
Пуши на себя берёт вендор, он ответственен за их доставку. Наше дело с мобилками только отправить.
источник

VR

V R in Архитектура ИТ-решений
я согласен :) - углубляться в distributed cache не будем :)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну, события для мобилки - берутся из тех же очередей и летят туда, просто другим каналом )
источник

G

George in Архитектура ИТ-решений
Вот о расчёте я и писал в старттопике, но всегда есть immediate события, аля "срочно все собираемся", комментарии с реплаями и личные сообщения. Поэтому... Разве что частично.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Тогда нужна табличка online+mobile. Ну или любой другой фильтр "клиенты, которым можно послать событие".
источник

VR

V R in Архитектура ИТ-решений
ну они же как-то поступают в систему - они же не из БД изначально
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Ну вот потому проще вообще все в очередь скинуть и с нее раздавать.
источник

G

George in Архитектура ИТ-решений
Колонка device, зачем отдельная таблица. Клиент может быть подключён сразу с N устройств.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Тебе важно отделить тех клиентов, которым можно послать событие от тех, для кого ждем подключения.
Типа если online или поставил приложение - то события из очереди вычитывать надо.
Если нет - то нет
источник

p

pragus in Архитектура ИТ-решений
Ох..
источник

G

George in Архитектура ИТ-решений
На мобилку и айпэд пуш, на сайт в сокет. В любом из трёх мест читает - помечаем delivered, чтобы не переотправлять, или удаляем.
источник

p

pragus in Архитектура ИТ-решений
А чего бы просто не иметь табличку с нотификациями и в сессии для каждого устройства держать ts последнего доставленного события?
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Хм. Это уже совсем другой кейс, когда нужно каждое событие индивидуально помечать когда-нибудь из очереди.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
А что это даст? Активно же не разберешься "пока отправить в это устройство", там все равно очередь вылезет
источник

p

pragus in Архитектура ИТ-решений
Устройство приходит - мы ему проигрываем из лога все нотификации
источник