Size: a a a

Software Design/Architecture/Zen

2020 November 16

АГ

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

N

Nekt in Software Design/Architecture/Zen
Nikita Ilin
Ну пока ближе всего идея со счётчиками у каждого пользователя и внутри каждой книги. Единственное, что счётчик внутри книги не обрабатывает ситуацию «блокировки» пользователем параграфа. Для этого внутри книги все равно нужно держать массив всех параграфов, это по 5000 штук в каждой книге
эт не проблема. счетчик выносится из книги и элегантным движением руки превращается в семафор
источник

АГ

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

N

Nekt in Software Design/Architecture/Zen
Алексей Гевондян
10к юзеров, лям книг. если все юзеры посмотрят все книги - это 10г записей
10к это не всего, а конкурентных
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
а зачем на книге семафор?
источник

АГ

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

N

Nekt in Software Design/Architecture/Zen
Алексей Гевондян
а зачем на книге семафор?
чтобы раскидывать параграфы по юзерам не блокируя сами параграфы
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
в текущем скоупе в памяти до  10к записей - это норм
источник

АГ

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

АГ

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

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
ну и там да, 2+ / 2- , и он помечается таким
источник

N

Nekt in Software Design/Architecture/Zen
Алексей Гевондян
запросы на "выдать книгу" будут в очередь кидаться. берется книга, для которой нет записи этого юзера в истории для этой книги.
это сработает, я не спорю
источник

NI

Nikita Ilin in Software Design/Architecture/Zen
Nekt
эт не проблема. счетчик выносится из книги и элегантным движением руки превращается в семафор
Не очень понял
источник

NI

Nikita Ilin in Software Design/Architecture/Zen
Семафор как тут поможет?
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
ну типа дошел до 4 на параграф - все, параграф лочится... типа того. или до 2....
источник

АГ

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

N

Nekt in Software Design/Architecture/Zen
Алексей Гевондян
ну типа дошел до 4 на параграф - все, параграф лочится... типа того. или до 2....
до 10к на книгу. Параграфы можно не блокировать по отдельности. Потом увеличить размер на количество несовпавших блоков. Но это уже блокирующие фокусы и надо учитывать таймеры и прочие корнер-кейсы.
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
10k с окном в 15 минут*
источник

N

Nekt in Software Design/Architecture/Zen
как пойдет. я не вижу тут ценности в обеспечении гарантированного минимума ответов - возможно проще просто гонять юзеров по кругу
источник

N

Nekt in Software Design/Architecture/Zen
даже без всяких счетчиков юзер может всегда смотреть параграф равный остатку от деления на пять тысяч от его порядкового номера
источник