Size: a a a

2020 July 02

AZ

Artyom Zavrin in ErlangRus
источник

MK

Mikhail Khotko in ErlangRus
Artyom Zavrin
TCP cокеты с возможностью использования SSL. Там свой протокол, не HTTP.
Так долго от тебя вестей не было )
источник

ML

Maksim Lapshin in ErlangRus
https://github.com/systemd/systemd/issues/2175#issuecomment-649525749

Поттеринг обсуждает про systemd и reload config ту же самую проблему, с которой столкнулись мы в флюссонике и которая не решается в OTP =(
источник

ML

Maksim Lapshin in ErlangRus
И он ровно по той же самой причине, по которой оно не решено в OTP не хочет решать её в systemd
источник

MK

Matwey Kornilov in ErlangRus
Так и в чем проблема?
источник

EK

Evgeny Khramtsov in ErlangRus
@maxlapshin у вас нет поддержки перезагрузки конфига?
источник

EK

Evgeny Khramtsov in ErlangRus
не сильно вникал, но из issue ничего не понял
источник

SP

Sergey Prokhorov in ErlangRus
Artyom Zavrin
TCP cокеты с возможностью использования SSL. Там свой протокол, не HTTP.
т.е. где-то там в NSA сидели писали парсер для erlang external term format 😀
источник

ИИ

Иванов Иванов... in ErlangRus
Matwey Kornilov
Так и в чем проблема?
В древовидности и непредсказуемости видимо
источник

I

Igor in ErlangRus
Evgeny Khramtsov
не сильно вникал, но из issue ничего не понял
с обычными скриптами можно сказать service nginx reload. И этот релоад не запустится, если у тебя конфиг битый. А сейчас ты говоришь systemctl reload nginx и узнаешь о битом конфиге, когда nginx не поднялся.
Поттеринг говорит, что "вам надо, вы и тестируйте конфиг, причём тут systemctl"
источник

ML

Maksim Lapshin in ErlangRus
Matwey Kornilov
Так и в чем проблема?
проблема в том, что когда супервизору дали все спеки, он может достаточно точно гарантировать: вот один процесс запустился, вот следующий за ним, причем тот второй процесс может быть точно уверен, что первый жив и работает


Когда начинается реконфигурация, то это всё сделать сильно сложнее. Нужен протокол распространения реконфигурации
источник

ML

Maksim Lapshin in ErlangRus
Evgeny Khramtsov
@maxlapshin у вас нет поддержки перезагрузки конфига?
у нас то есть, но это всё сильно в стороне, причем настолько, что мы вообще стараемся не пользоваться стартовыми параметрами, которые передает супервизор.

Т.е. у нас все (на самом деле нет и это бардак) процессы стартуют как бы холодные, ненастроенные и потом уже ждут обновления конфигурации и пытаются сконвергироваться туда
источник

EK

Evgeny Khramtsov in ErlangRus
ага, я знаю эту боль, но в итоге я справился с перезагрузкой конфига в ejabberd, там если что over 1000 опций :) Ну самый лютый buthurt конечно с супервизорами, на них нельзя держать конфиг, читать конфиг только из init() самого процесса
источник

MK

Matwey Kornilov in ErlangRus
Ага, ясно. Т.е. один процесс обновил конфигурацию, второй не смог и упал, и этот фарш теперь не прокрутить назад.
источник

EK

Evgeny Khramtsov in ErlangRus
ну у меня было сделано так, что конфиг полностью валидируется перед скармливанием
источник

AK

Aleksey Kluchnikov in ErlangRus
выгодно разбивать эту задачу на конкретные реконфигурки. Типа переподключится к базе. Или сменить листен урл. И тогда все разбивается на посильные задачки. А полный реконфигур через рестарт
источник

EK

Evgeny Khramtsov in ErlangRus
невыгодно, если ты делаешь систему под ключ и отдаёшь заказчику
источник

EK

Evgeny Khramtsov in ErlangRus
ему надо одну команду "reload" и всё
источник

EK

Evgeny Khramtsov in ErlangRus
конфиг сам должен всё обновить
источник

AK

Aleksey Kluchnikov in ErlangRus
Если админка есть, то выгодно. Поменял что то  - применил
источник