Size: a a a

2019 July 20

ŹR

Źmićer Rubinštejn in pro.elixir
Ну и нестабильное соединение - тоже твои проблемы)
источник

DD

Dan Dan in pro.elixir
Źmićer Rubinštejn
Если multiple dc будет 1к пинг - это твои проблемы, средствами эрланга они никак не решаются
а чем такое вообще решается)))
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Dan Dan
а чем такое вообще решается)))
Есть разные концепции, типа event sourcing, какие то асинхронные коммиты с подтверждениями, кэширование и правильное шардирование. В общем это то за что всяким крутым бородатым дядям - и тётям ( чтобы без сексизма ) - платят много денях
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Другое дело, что в beam не надо думать обо всем остальном. Типо вот я на рельсе две недели записывал и читал из базы, ходил в редис, насиловал sidekiq schedulers для того, что на genstage пишется за день.

Причём реальная конкретная логика типо «повтори если получил ошибку, не больше столько то раз, в потом возьми дефолт» заняло 10 минут.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Все остальное это: ой у нас нету ets, будем хранить сколько раз была ошибка в редисе. Ой, дефолт был в начале задачи, и в колбэке его нету - читаем из базы. Ой, мы в принципе не знаем внутри джобы на каком этапе мы находимся, потом что все стейтлесс. Будем каждую промежуточную переменную писать в базу, кроме тех, которые пишем редис
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И потом на стенде настрой редис - день, на проде настрой редис день, CI вместо одного контейнера должен целый compose запускать - пошло поехало
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В 2019 году голый crud нахуй никому не нужон. А самый прикол в том, что феникс это MVC. На нем можно писать круды пачками не зная OTP.
источник

DD

Dan Dan in pro.elixir
Źmićer Rubinštejn
Другое дело, что в beam не надо думать обо всем остальном. Типо вот я на рельсе две недели записывал и читал из базы, ходил в редис, насиловал sidekiq schedulers для того, что на genstage пишется за день.

Причём реальная конкретная логика типо «повтори если получил ошибку, не больше столько то раз, в потом возьми дефолт» заняло 10 минут.
a crontab ? судя по описанию на рельсе это так же 10 мин. или есть подвох ?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Зато потом, когда дело доходит до «прикрутить блокчейн» или там «мл на питоне нужно из монолита асинхронно дергать» понимаешь зачем нужны акторы, нормальные виртуалки, безлопастная многопоточность и бесплатные долгоживущие кеши прямо в вм
источник

DD

Dan Dan in pro.elixir
а добавить state machine ? или вопрос как хранить ее state в распределенной среде?
источник

DD

Dan Dan in pro.elixir
ну очереди обычно делались и там можно state хранить - в примитивном случае в бд
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Dan Dan
ну очереди обычно делались и там можно state хранить - в примитивном случае в бд
Правильно. У меня микросервис на 100 строк, и нужна бд?
источник

DD

Dan Dan in pro.elixir
на редис день? да что там у вас такое настраивать то)) там настроек столько нет)
источник

DD

Dan Dan in pro.elixir
хотя может у вас кластер
источник

DD

Dan Dan in pro.elixir
с рейлз был пока только один прикол - надо было транзакцию запускать которая лочит таблицу - но из коллбека в модели это не удавалось сделать - потому что оборочивалось в транзакцию самим рейлз. пришлось из коллбека ходить по сокету к сервису и получать нужное.
источник

DD

Dan Dan in pro.elixir
Źmićer Rubinštejn
Правильно. У меня микросервис на 100 строк, и нужна бд?
а нужна persisted? ну да - тогда redis
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Dan Dan
а нужна persisted? ну да - тогда redis
В эликсире не нужна,  в этом то все и дело
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В эликсире это выглядит как синхронный код на 100 строк
источник

DD

Dan Dan in pro.elixir
а как делается, чтобы повторный запрос заново например не запустил эти три попытки условные - который пришел например на соседнюю машину?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Так же как и с бд - идемпотентность. Только uuid лежит в состоянии процесса, а не пишется и читается в бд на каждый колбэк
источник