Size: a a a

2019 July 20

ŹR

Źmićer Rubinštejn in pro.elixir
У меня изи задача - отчёт по 500 позициям. По каждой из позиций надо сходить в другие микросервис и асинхронно получить данные. 500 акторов я могу запустить, и внутри каждого синхронно обработать ошибки. А потом заредьюсить результаты. Все 500 параллельно. Мне вообще не нужна база тут, никакая. Ни редис, ни даже ets.

А что делать в рельсах?
источник

DD

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

DD

Dan Dan in pro.elixir
а если у вас будет 5000 микросервисов-  по таймауту не отвалится клиент?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Dan Dan
а если у вас будет 5000 микросервисов-  по таймауту не отвалится клиент?
У нас все асинхронное - нету http
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Кафка, rmq...
источник

DD

Dan Dan in pro.elixir
а если клиент дергает rest api ?
источник

DD

Dan Dan in pro.elixir
как вообще api пишется тогда на эликсире?
источник

DD

Dan Dan in pro.elixir
просто вы сказали рельса и я подумал что есть http
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Dan Dan
а если клиент дергает rest api ?
Если бы время ответа всех запросов было бы строго задано, то собрать отчёт хоть по 500 хоть по 5к заняло бы практически одинаковое время - разница только в reduce.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
В эликсире можно сделать такой rest эндпоинт очень просто
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Знаю тучу success story о graphql прокси на эликсире над гроздью микросервисов
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Типа запрос летит на проксю, она парсит- идёт параллельно в n разных микросервисов и готовит graphql ответ
источник

DD

Dan Dan in pro.elixir
и все это быстро?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Скорость работы самого медленного из тех микросервисов плюс оверхед на запаковку распаковку.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Быстрее никак )
источник

SK

Suren Kirakosyan in pro.elixir
Привет всем.
источник

DD

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

DD

Dan Dan in pro.elixir
Źmićer Rubinštejn
Скорость работы самого медленного из тех микросервисов плюс оверхед на запаковку распаковку.
а там внутри между процессами бинарный протокол у эрланга?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Dan Dan
а там внутри между процессами бинарный протокол у эрланга?
Внутри beam - да
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Причём даже если этот процесс находится на соседней ноде
источник