Size: a a a

Software Design/Architecture/Zen

2020 November 16

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Nikita Ilin
Я не очень понял, как в реалтайме всё проверять очень быстро.
кликхаус, возможно эластик, норм запросы такие обрабатывает
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Nikita Ilin
Как гарантировать тогда, что пользователя не нарвутся на один и тот же параграф и все параграфы будут в итоге просмотрены?
Я так понял они говорят про разбиение на партиции?
источник

YG

Yury Golikov in Software Design/Architecture/Zen
По id юзера
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
в целом, конечно, проще заявки класть в очередь, и выдавать юзерам не синхронно а потом. потому что в реалтайме реально слишком уж хайлоад будет.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
вешать лоадер
источник

NI

Nikita Ilin in Software Design/Architecture/Zen
Yury Golikov
Я так понял они говорят про разбиение на партиции?
Тогда я неправильно понял
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Я может быть тоже 🙃
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Yury Golikov
По id юзера
разбиение чего? по какому принципу? не понимаю чот
источник

NI

Nikita Ilin in Software Design/Architecture/Zen
Алексей Гевондян
в целом, конечно, проще заявки класть в очередь, и выдавать юзерам не синхронно а потом. потому что в реалтайме реально слишком уж хайлоад будет.
Будет в очереди, какая разница
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Yury Golikov
По id юзера
Это не эффективно распределяет нагрузку. Мол у тебя одни юзеры быстро апрувят другие медленно
источник

NI

Nikita Ilin in Software Design/Architecture/Zen
Так фишка не только в том, чтобы быстро сделать поиск. Но ещё и быстро обновить стейт
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Nikita Ilin
Будет в очереди, какая разница
алгоритм "что выдать следующее" использует 2 базовых принципа - 1) циклический обход по кругу от меньшего к большему,потом с начала. 2) проверку истории для избежания дублирования. если это не синхронно считать - то норм с очередью должно быть, без особых тупняков, за 2-10 сек я думаю система сможет выдать следующий абзац
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Nikita Ilin
Так фишка не только в том, чтобы быстро сделать поиск. Но ещё и быстро обновить стейт
в твоем случае все надо делать через очереди.
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
нажал лайк / дизлайк - событие на обработку
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
обработалось - убираем из текущего стейта, кладем в историю
источник

YG

Yury Golikov in Software Design/Architecture/Zen
Sergey Protko
Это не эффективно распределяет нагрузку. Мол у тебя одни юзеры быстро апрувят другие медленно
А балансить тут эффективно никак нельзя?
источник

N

Nekt in Software Design/Architecture/Zen
Yury Golikov
Я так понял они говорят про разбиение на партиции?
не. просто быстрый способ понять кому что дать, забив на возможные повторы поскольку в 5000-партиционированной книге первую партицию получат 1й, 5001й и 10001й юзеры(если показания первых двух не сойдутся), предполагая, что воемя оценки партиции меньше, чем время прохода 5000 юзеров
источник

NI

Nikita Ilin in Software Design/Architecture/Zen
Тут проблема в том что всё упирается в один поток в итоге. Обходить все документы от меньшего к большему для 10000 кокурентнвх пользователей тяжеловато будет
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Nikita Ilin
Тут проблема в том что всё упирается в один поток в итоге. Обходить все документы от меньшего к большему для 10000 кокурентнвх пользователей тяжеловато будет
имеет смысл сделать такой сервис стейтфул, и держать в оперативе текущий стейт
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
должно быть по силам
источник