Vasily
Чот Илья душный, небось на собесах принципы solid спрашивает
Ilya
да хоть на луне, он читает СВОЙ стейт
Дак с актором А все заебись
Vasily
Если ему ответ не пришёл
Ayrat
ща, пойду в закромах говнокода искать говнокод
Ilya
Хуйово как то
Ilya
Почему и в этом чате меня пытаются все наебать?
Ayrat
эх, именно этот проект забыл спиздить в свою секретную репу
Sergey
Почему и в этом чате меня пытаются все наебать?
Не любят ООП Вот ты и познакомился с токс фп сообществом !!1!1!
Vladimir
Нужно мнение насчет тестов - сегодня новый аргумент на работе получил, например есть функция let publicFunc x = privateFunc x let privateFunc x = //business logic я написал на приватную функцию тест, а мне говорят, зачем ты пишешь тесты на приватные функции, надо писать на публичные, потому что можно в publicFunc вызвать другую функцию вместо privateFunc, и тесты не поломаются. Стоит ли такой аргумент принимать всерьез?
Mark
https://bartoszsypytkowski.com/dont-ask-tell-2/ вот тут про как раз описана стратегия с таймаутом
Ayrat
короче, в акке через персистент акторов можно сделать at least once, но это требует ручного написания механизма акноледжей. Когда я писал на акке ничего такого из коробки не было. Может сейчас уже есть, @VagifAbilov у нас собаку съел!
Mark
Vasily
Почему и в этом чате меня пытаются все наебать?
А как ты себе представляешь гарантированную доставку без ack?
Ilya
А как ты себе представляешь гарантированную доставку без ack?
Например трекать информацию о вышедших из строя нодах и акторах в них и автоматически их переподнимать с их мейлбоксом
Ilya
Если персистить мейлбокс
Vasily
Ох бля
Ilya
Ох бля
Это же вы мне не можете пояснить как сделать at least once без кучи говнокода
Vasily
Лоботомия тут действительно бесполезна
Vasily
Вопрос - как трекать эту информацию и зачем?
Vagif
Подскажи, действительно ли в данном случае гарантии достигаются через механизм описанный @omgszer ?
Гарантии достигаются через персистентный актор, всякими квитанциями доставки и прочей мутью. Примерно так: https://gist.github.com/object/c1f7ad6229ecfb0f3c3740ea6430662b
Ayrat
Это же вы мне не можете пояснить как сделать at least once без кучи говнокода
ну потому что честный даже at least once не так уж просто сделать если учесть что сии гарантии должны существовать даже между сессиями процесса
Ilya
Вопрос - как трекать эту информацию и зачем?
Это был пример реализации, поэтому я и спросил персистится ли мейлбокс для at least once доставки
Vasily
Вот Вагиф это называет квитанциями доставки
Vasily
И именно поэтому at least once
Vagif
Но Аарон признавал, что это все говнокод и надо встроить что-то проще, даже черновик написал, что собирается делать. https://petabridge.com/blog/akkadotnet-at-least-once-message-delivery/
Vasily
Потому что может проебаться квитанция
Vagif
Блин, забыл что это эльфийский чат...
А что такое эльфийский чат?
Ilya
Ты не посылаешь сообщения в никуда
Проблема в том, что ты теряешь сообщение при падении ноды
Ayrat
А что такое эльфийский чат?
3 человека в пронете называют фшарп эльфийским. Илья один из них :D
Ayrat
Короче, мейлбокс не персистится и я бы сильно удивился если бы он персистился. Так можно и сокеты персистить, и хип (А ВДРУГ ПРОЕБЕТСЯ), и регистры проца
Vagif
3 человека в пронете называют фшарп эльфийским. Илья один из них :D
Сижу думаю, в плохом ли это смысле или хорошем
Λ ll И K X
Ayrat
Сижу думаю, в плохом ли это смысле или хорошем
они так оправдывают своё нежелание учиться новому. Типа назвали эльфийским и можно не вникать.
Vasiliy
Сижу думаю, в плохом ли это смысле или хорошем
Если эльфы из Толкиена то хорошо, если эльфы из Драгон аэдж то этотнаезд
Ayrat
У Сапковского эльфы вообще бомжи-цыгане!!11
Sergey
Толкина*
Душный!!1
Крылатый
Крылатый
Λ ll И K X
а о чем был топик стартер?
Ilya
Гарантии достигаются через персистентный актор, всякими квитанциями доставки и прочей мутью. Примерно так: https://gist.github.com/object/c1f7ad6229ecfb0f3c3740ea6430662b
Честно говоря не выглядит красивым решением, я бы ожидал увидеть это частью самого рантацйма акки, возможно там можно получить дополнительную информацию и сделать чуть более красиво.
Λ ll И K X
о сагах?
Sergey
Vagif
Согласно Urban Dictionary, ELFsStands for EverLasting Friends, the official fanclub of the 13 membered Korean boyband, Super Junior.
Vagif
SuperJunior!
Vagif
Мы здесь суперджуниоры!
Ayrat
(не рекомендую)
Vagif
Можно было бы ожидать такой режим работы опционально
Слушай, но это же акка, high performance, scalability, вот это все. И вдруг опция сохранения мейлбокса.
Aleksander
ну а есть ли что-то подобное для го, мне тут наверно вряд ли ответят..
На го посмотри https://temporal.io/, хотя там вроде даже и для .NET были клиенты
Roman
Можно было бы ожидать такой режим работы опционально
со стороны кажется, что тебе персистить мейлбокс важнее, чем at least once delivery
Roman
но я мимо крокодил
Ayrat
Можно было бы ожидать такой режим работы опционально
там БЫЛ DurableMailbox но его выпилили из-за бредовости
Roman
кек
Ayrat
Чем это отличается от персистанса мейлбокса?
тем что если тебе надо персистентный буфер бери готовые решения, а в акке подобной херотой решили не заниматься (повторять кафку всего лишь ИЗИ)
Ayrat
а at least once я выше написал как сделать. И Вагиф тоже
Ilya
Слушай, но это же акка, high performance, scalability, вот это все. И вдруг опция сохранения мейлбокса.
Если взять что то очень быстрое, может будет и норм? Вообще для кросс нодных запросов деградация будет не такая уж и большая
Aleksander
Самар?
Aleksander
он оказывается durable functions в Azure писал)
Ayrat
Если взять что то очень быстрое, может будет и норм? Вообще для кросс нодных запросов деградация будет не такая уж и большая
что быстрое? тебе надо в начале писать в хранилище, потом в мейлбокс класть (иначе проебёшь). притом не заканчивать отсылку сообщения сендеру пока мы не запишем в хранилище. Ты представляешь насколько всё стало херовее?
Ilya
со стороны кажется, что тебе персистить мейлбокс важнее, чем at least once delivery
Да я вообще не собирался, я хотел узнать как достигается такая гарантия, а оно оказывается через свою реализацию
Ilya
Самар?
Быков
Roman
Да я вообще не собирался, я хотел узнать как достигается такая гарантия, а оно оказывается через свою реализацию
ну звучит же разумно. Это, конечно, хотелось бы из коробки иметь, но и в коробке это делалось бы так же
Vagif
Более того, персистентный мейлбокс - это приглашение к плохой архитектуре. Что должно сохраняться - часть предметной области.
Roman
так-то у тебя все может наебнуться при пересисте мейлбокса)