Ayrat
Короче, я снимаю знамя кухонного архитектора хайлоад месенджеров, кто хочет подбирайте.
Крылатый
Шаришь
Не удивлюсь, если оно так и есть.
Ayrat
Акторы это акторы, просто заменять акторами ВСЁ - неправильно и не сработает
Nikolay
Но зачем писать свою базу на акторах?
Sergey
Зачем юзать акторы?)
Nikolay
Ayrat
вот у тебя второе
Nikolay
Nikolay
Понять, как такие задачи решаются акторами
Nikolay
Это просто интерес
Nikolay
Есть ли какое-то элегантное решение
Ayrat
потому что я вижу что мои советы встречаются непониманием. Мне кажется ты с акторами мало работал
Nikolay
Ну как бы да, мало, только разбираюсь с ними
Nikolay
Как и для чего их можно применить
Nikolay
В прошлом году тут в чатике их так хорошо продали :(
Ayrat
Ну, они всё ещё хороши, ничего не изменилось) Но это инструмент со своим полем применения
x
Ayrat
персистентные акторы тоже инструмент, и т.к. основаны на евентсорсе, хорошо подходят для списочного хранения истории изменения СОСТОЯНИЯ.
(история сообщений, по которой надо выцеплять отдельные мессаги, не является агрегируемым состоянием с событиями-месаджами, это просто куча сообщений)
Ayrat
т.е. евентсорсд под хранение месаджей не подходит в принципе
Nikolay
Про историю я уже понял
Nikolay
Тут вопросов нет
Nikolay
А вот по индексу есть вопросы, мне кажется, что это будет не ок хранить такой жирный объект
Ayrat
Но это не проблема модели акторов
Nikolay
Ну вот я и пытаюсь понять, как эту проблему решать 🤷♂️
Ayrat
Ну вот я и пытаюсь понять, как эту проблему решать 🤷♂️
ну тебе уже дали много советов как это сделать.
Наивный подход - дикшнари
Чуть усложним - много дикшнари, каждый для своей буквы
Ещё усложним - редис
Совсем пиздец - редис с когда-нибудь конститентностью с персистентным хранилищем. Для редиса есть готовые решения если чо, т.е. усложнение не очень страшное
Ayrat
Ещё усложним - кластер редиса
Vladislav
Мимо проплывает база данных
Nikolay
Nikolay
Я даже и говорю о том, чем это тогда от прямого запроса в базу отличается?
Ayrat
Ayrat
а так - ничем
Nikolay
Ну и вообще, меня впечатлило, что Вагиф со своей командой сделали полностью всё на акторах :)
Ayrat
хранилище оно и есть хранилище
Ayrat
Nikolay
Ну это понятно
Ayrat
ты знаешь требования его задачи?
Nikolay
Вот я и пытался выяснить, можно ли это сделать в данном кейсе, или нет
Nikolay
Как бы вопрос снят
Roman
Ну это понятно
Вообще разумно говорят, если у тебя нет опыта с акторами и опыта написания хайлоад мессенджеров, то сразу обе задачи решать слишком тяжело)
Nikolay
Ну сейчас речь не обязательно про месседжер идёт. По сути просто поиск актора по уникальному идентификатору
Nikolay
Который может меняться, правда
Vladislav
Я кстати пытался писать бота на акторах
Vladislav
В итоге умер нахуй)
Nikolay
Vladislav
Я
Vladislav
Я в один момент перестал понимать происходящее
Nikolay
Vladislav
Типо того
Vladislav
Плюс они там ненужны
Nikolay
Я писал игрового бота как-то, и там акторы, наверное, были бы кстати, ибо очень много разных стейтов и переходов было
x
запоминать свои шутки и не шутить так же в том же чате, например, год
Vladislav
Оно там не надо было - он тупо историю писал
Nikolay
Nikolay
Хотя
Nikolay
https://github.com/Dolfik1/ItMeetupCats/blob/master/Program.fs
Nikolay
Попробуй разберись
Vladislav
Да проще «как обычно» писать
Ayrat
а актор система без диаграмм - ещё больший кусок
Nikolay
Nikolay
А вот почему он это делает, и в какой последовательности, это вопрос
Nikolay
Ну диаграмма бы да, не помешала
Ayrat
ну и далее без всяких стандартов, наваяли квадратики со стрелочками
Nikolay
Помогло?
Aleksandr
Сори за оффтоп, но кто-нибудь из вас писал свои компиляторы под llvm?
Ayrat
Ayrat
Aleksandr
Огонь, спасибо
Ayrat
Там суровые ребята сидят