Size: a a a

2020 March 15

SP

Sergey Prokhorov in ErlangRus
В эрланговой библиотеке есть алгоритм которому скармливаешь 2 схемы и он говорит совместимы они или нет https://github.com/klarna/erlavro/blob/cd4968919efcee52ccac0abf5485c6aefcfef39d/src/avro_util.erl#L291. У нас в CI это проверяется.
источник

SP

Sergey Prokhorov in ErlangRus
В спеке указано что схема должна передаваться вместе с сообщением. Но у нас например схемы регистрируются в schema registry, которая им назначает уникальные id и просто к сообщениям добавляется заголовок с этим ID
источник

SP

Sergey Prokhorov in ErlangRus
Понятно что и у клиента и у сервера должен быть доступ к этому registry
источник

AB

Alexey Bolshakov in ErlangRus
О, не думал, что есть библиотека
источник
2020 March 16

s

snakeduse in ErlangRus
Всем привет.

Есть базовый вопрос проектирования. Количество процессов в эрланге в принципе неограниченно, их могут быть миллионы.
Но есть другие ресурсы, более ограниченные, например БД. Как контролировать взаимодействие с ограниченными ресурсы (соединение с БД, и т.д.)?
источник

AB

Alexey Bolshakov in ErlangRus
пул, например
источник

LW

Lev Walkin in ErlangRus
пулы и прокси
источник

AB

Alexey Bolshakov in ErlangRus
на Эликсире можно back pressure с помощью GenStage/Flow
источник

ML

Maksim Lapshin in ErlangRus
snakeduse
Всем привет.

Есть базовый вопрос проектирования. Количество процессов в эрланге в принципе неограниченно, их могут быть миллионы.
Но есть другие ресурсы, более ограниченные, например БД. Как контролировать взаимодействие с ограниченными ресурсы (соединение с БД, и т.д.)?
Пул здесь - это центральный хорошо известный процесс, через котороый контролируется создание ограниченных ресурсов
источник

s

snakeduse in ErlangRus
Maksim Lapshin
Пул здесь - это центральный хорошо известный процесс, через котороый контролируется создание ограниченных ресурсов
Спасибо за уточнение. А никаких поведение для таких вещей в OTP нет?
источник

ML

Maksim Lapshin in ErlangRus
snakeduse
Спасибо за уточнение. А никаких поведение для таких вещей в OTP нет?
Супервизоры и именрванные генсерверы.

Сама логика управления пулом плохо обобщается
источник

AK

Aleksey Kluchnikov in ErlangRus
источник

s

snakeduse in ErlangRus
Maksim Lapshin
Супервизоры и именрванные генсерверы.

Сама логика управления пулом плохо обобщается
В таком случае имеет ли смысл использовать библиотеки, которые реализуют общие пулы? И есть ли вообще таковые?
источник

AK

Aleksey Kluchnikov in ErlangRus
Вчера только вот делал пул для раболты с базой
источник

LL

Lama Lover in ErlangRus
snakeduse
Спасибо за уточнение. А никаких поведение для таких вещей в OTP нет?
В OTP нет, но 100 и 1 либа для пулов
источник

AK

Aleksey Kluchnikov in ErlangRus
с координатором воркеров для интроспецкции и прочего
источник

LL

Lama Lover in ErlangRus
snakeduse
В таком случае имеет ли смысл использовать библиотеки, которые реализуют общие пулы? И есть ли вообще таковые?
А зависит от того какой ты хочешь пул.
Типа какие соединения (например, gen_tcp или просто воркеры)
Какой контроль над пуллом
Распределенный или на одной машине

Если проект домашний, то будет полезно написать ручками свой пул
источник

СИ

Сергей Иванов in ErlangRus
что за мухобойка?
источник

AK

Aleksey Kluchnikov in ErlangRus
Заляпаный листочек? Когда делаешь пул, надо есть. Кормить мозг.
источник

s

snakeduse in ErlangRus
Lama Lover
А зависит от того какой ты хочешь пул.
Типа какие соединения (например, gen_tcp или просто воркеры)
Какой контроль над пуллом
Распределенный или на одной машине

Если проект домашний, то будет полезно написать ручками свой пул
Не, проект не домашний. Конкретно есть Ковбой с кучей входящих сообщений и есть БД, которая ограничена. Если делать пул к БД, то вопрос - нормально ли накапливать входящие вызовы, чтобы БД их постепенно разгребала?
источник