Size: a a a

2020 July 29

SP

Sergey Prokhorov in ErlangRus
и 99% так и делают
источник

SB

S B in ErlangRus
Потому что эти скрипты похожи на один из кругов ада по Данте.
источник

SP

Sergey Prokhorov in ErlangRus
S B
То есть, если я могу позволить себе остановку, то моя жизнь станет ощутимо проще?
ну т.е. если у тебя http API за load-balancer то просто по одному бэкенды обновляешь - как у всех. Если нельзя почему-то перезапускать (например долгоживущие соединения нельзя закрывать или много стейта в памяти) то уже можно над hot reload задуматься со всеми этими скриптами app-up и state_update
источник

SP

Sergey Prokhorov in ErlangRus
у нас делают hot upgrade потому что за 15 лет жизни проекта научились его готовить и старт ноды при перезапуске занимает 20 минут (раньше больше часа занимало) т.к. mnesia  индексы читало в память
источник

SB

S B in ErlangRus
Sergey Prokhorov
ну т.е. если у тебя http API за load-balancer то просто по одному бэкенды обновляешь - как у всех. Если нельзя почему-то перезапускать (например долгоживущие соединения нельзя закрывать или много стейта в памяти) то уже можно над hot reload задуматься со всеми этими скриптами app-up и state_update
У меня в зоне влияния есть как облака с кубернетисом, так и отдельные виндовые и линуксовые сервера со статическим айпи. И заучит так, что внезапно континиус деливери кода на Эрланг легче всего раскидывать по этим машинам со статическими айпи и тогда я могу в конфигурации забить гвоздями хосты нод, которые должны подняться вместе с этой новой. Где в не прав?
источник

SP

Sergey Prokhorov in ErlangRus
S B
У меня в зоне влияния есть как облака с кубернетисом, так и отдельные виндовые и линуксовые сервера со статическим айпи. И заучит так, что внезапно континиус деливери кода на Эрланг легче всего раскидывать по этим машинам со статическими айпи и тогда я могу в конфигурации забить гвоздями хосты нод, которые должны подняться вместе с этой новой. Где в не прав?
ну видимо да. Но в этой части я не особо силён
источник

SB

S B in ErlangRus
И тогда мне достаточно просто доставлять туда копию кода и вызывать там ребар3, и все. Ну совсем несложно звучит.
источник

SP

Sergey Prokhorov in ErlangRus
ну rebar3 release можно вызывать на CI. Он тебе соберёт артефакт _build/prod/rel/... и его можно на голую OS заливать, главное чтоб версии libc и libssl совпадали
источник

SB

S B in ErlangRus
Sergey Prokhorov
ну rebar3 release можно вызывать на CI. Он тебе соберёт артефакт _build/prod/rel/... и его можно на голую OS заливать, главное чтоб версии libc и libssl совпадали
Ещё легче.
источник

SP

Sergey Prokhorov in ErlangRus
https://www.rebar3.org/docs/releases ну, есть 2 варианта точнее - собрать release который включает VM или релиз в котором только скомпилированные .erl файлы, а VM уже подразумевается что установлена на целевом хосте
источник

SP

Sergey Prokhorov in ErlangRus
include_erts за это отвечает
источник

SB

S B in ErlangRus
Sergey Prokhorov
https://www.rebar3.org/docs/releases ну, есть 2 варианта точнее - собрать release который включает VM или релиз в котором только скомпилированные .erl файлы, а VM уже подразумевается что установлена на целевом хосте
Да, это я видел. Тут поиграться надо и понять как не обжечься с версиями, но это заучит как не принципиальная частность.
источник

SB

S B in ErlangRus
Принципиально, что сам механизм достаточно простой, если не сказать тривиальный и при этом легко несколько нод сразу согласовать.
источник

SB

S B in ErlangRus
Потому что в облаках как я хосты нод заранее знать буду? Магия нужна чёрная.
источник

SP

Sergey Prokhorov in ErlangRus
dns?
источник

С

Саша in ErlangRus
S B
У меня в зоне влияния есть как облака с кубернетисом, так и отдельные виндовые и линуксовые сервера со статическим айпи. И заучит так, что внезапно континиус деливери кода на Эрланг легче всего раскидывать по этим машинам со статическими айпи и тогда я могу в конфигурации забить гвоздями хосты нод, которые должны подняться вместе с этой новой. Где в не прав?
извините что встреваю, а можно пример задач которые хорошо ложатся на distributed из коробки по разным машинах?
источник

SP

Sergey Prokhorov in ErlangRus
в последних версиях OTP вроде были какие-то подвижки в том чтоб облегчить service discovery, но я не вникал
источник

SB

S B in ErlangRus
Да, но это я уже не могу настраивать, это задачи на девопсов и безопасников.
источник

SB

S B in ErlangRus
Саша
извините что встреваю, а можно пример задач которые хорошо ложатся на distributed из коробки по разным машинах?
Да любой кейс, когда приложение должно жить независимо от смерти ноды. Простейший случай с мудьтирегионом, свет в датауентре в Праге мигнул
источник

SB

S B in ErlangRus
А у теб веб АПИ. Ты ж хочешь, что оно отвечало?
источник