Size: a a a

2021 May 09

@

@mr_tron in Distributed
источник

PZ

Pavel Zlatovratskii in Distributed
Ну вот например так:
Два потока данных - один административный, другой с сообщениями.
Административный всегда формирует конкретное состояние, которое может быть получено в виде слепка.
Поток сообщений может разматываться не вперёд, а назад - от сегодня к прошлому, тогда можно не загружать данные двухлетней давности, которые всё равно никто читать не будет.
источник

k

kitlhut0r in Distributed
Ну хотябы разделить event-ы с важными событиями типа изменения прав пользователя и event-ы с просто сообщениями, это бы уже ускорило все в разы
источник

PZ

Pavel Zlatovratskii in Distributed
Собственно потоки можно не разделять, да.
Главное чтобы поток разматывался назад и был административный слепок.
источник

@

@mr_tron in Distributed
ну так их потом надо синхронизировать? например было сообщение пользователя отправлено до бана или после?
а как, если это разные цепочки?
источник

k

kitlhut0r in Distributed
Как он отправит сообщение после бана, сервер просто не даст ему это сделать?!
источник

k

kitlhut0r in Distributed
Или ты имеешь ввиду задержку с синхронизацией между разными инстансами?
источник

k

kitlhut0r in Distributed
В любом случае алгоритм придумать можно
источник

KP

Kirill Pimenov in Distributed
Какой из серверов?
Они же все хранят каждый свою версию истории, и синхронизируют потом протоколы асинхронно
источник

@

@mr_tron in Distributed
так ведь можно историю грузить с любого сервера и синкать с любого. а может один из них принадлежит забаненому
источник

KP

Kirill Pimenov in Distributed
Короче, CRDT это сложно; могу вот этот шикарный доклад посоветовать на тему: https://m.youtube.com/watch?v=x7drE24geUw
источник

@

@mr_tron in Distributed
вообще я так понимаю, что разработчики много где вставали перед выбором "сделать заебись чтоб все писали кипятком но к 2050-му году" "сделать чуть хуже но сейчас" и выбирали первое
источник

PZ

Pavel Zlatovratskii in Distributed
Скорее как раз второе. Много вещей можно было бы сделать лучше, но неизвестно когда.
Например тот же приват, которого вообще по сути нет.
источник

PZ

Pavel Zlatovratskii in Distributed
Или уникальные идентификаторы без привязки к серверу.
источник

@

@mr_tron in Distributed
Тьфу. Да. Второе
источник

@

@mr_tron in Distributed
Ну почему? one-2-one в который потом никого нельзя добавить сделали же?
источник

PZ

Pavel Zlatovratskii in Distributed
Ну это же очевидный костыль, даже не интересно...
источник

@

@mr_tron in Distributed
Почему?
источник

@

@mr_tron in Distributed
Надо было отдельный протокол под приваты сделать или что?
источник

@

@mr_tron in Distributed
Сделали единообразной решение
источник