Size: a a a

2019 December 17

PK

Petr Kozorezov in ErlangRus
Сергей Иванов
На одном хосте если будут то норм или даже локально там траблы?
Лично у меня опыта траблов нет, но, думаю, тебе лучше @maxlapshin ответит
источник

c🦊

cleverfox 🦊 in ErlangRus
Petr Kozorezov
И слать по голому tcp, выкинув erlang distibution?
Да
источник

c🦊

cleverfox 🦊 in ErlangRus
В сокет того же ковбоя
источник

ML

Maksim Lapshin in ErlangRus
Petr Kozorezov
но вообще админы очень часто хотят закрывать ковбой nginx'ом
угу.

Технари очень любят говорить про меритократию и о том, как они рационально принимают решения, а сами «ааа, фриибсдаа, аа, мне нравитца!»
источник

ML

Maksim Lapshin in ErlangRus
у тебя какие сейчас проблемы с перфомансом? Сколько ты процентов времени ответа внутри системы теряешь на перепаковке http?
источник

VV

Valerii Vasylkov in ErlangRus
{_, Port} = erlang:system_info(dist_ctrl).
InetStats = [recv_oct,
   recv_cnt,
   recv_max,
   send_oct,
   send_max,
   send_cnt,
   send_pend
].
inet:getstat(Port, InetStats).


где send_pend - может показать что erlang distribution будет погибать
источник

YZ

Yuri Zhloba in ErlangRus
Petr Kozorezov
Слушайте, а никто не думал о том, что вместе ковбоя можно использовать nginx к которому дописать плагин, который будет конвертить http запросы в erlang distibuted протокол и выступать как отдельная нода, чтобы максимально эффективно сделать работу с http?
Лайк
источник

c🦊

cleverfox 🦊 in ErlangRus
Valerii Vasylkov
{_, Port} = erlang:system_info(dist_ctrl).
InetStats = [recv_oct,
   recv_cnt,
   recv_max,
   send_oct,
   send_max,
   send_cnt,
   send_pend
].
inet:getstat(Port, InetStats).


где send_pend - может показать что erlang distribution будет погибать
Я сейчас для своего проекта делал интерконнект между нодами на TLS сокетах. Так я там поднмаю сразу несколько TLS соединений между нодами, в одни сокеты идут "большие" низкоприоритетные пакеты, в другие маленькие, но высокоприоритетные (там сокеты не по размеру, а по назначению, но смысл получается именно такой). На прод еще не выкатывал, но в целом - такая схема на тестах показывает себя хорошо. Мультиплексирование потоков в пределах одного соединения мне не подошло, посколько потеря пакета на некоторое время соединение тормозит, и я не могу "вынуть назад из сокета" низкоприоритетные данные, и засунуть высокоприоритетные.
источник

VV

Valerii Vasylkov in ErlangRus
cleverfox 🦊
Я сейчас для своего проекта делал интерконнект между нодами на TLS сокетах. Так я там поднмаю сразу несколько TLS соединений между нодами, в одни сокеты идут "большие" низкоприоритетные пакеты, в другие маленькие, но высокоприоритетные (там сокеты не по размеру, а по назначению, но смысл получается именно такой). На прод еще не выкатывал, но в целом - такая схема на тестах показывает себя хорошо. Мультиплексирование потоков в пределах одного соединения мне не подошло, посколько потеря пакета на некоторое время соединение тормозит, и я не могу "вынуть назад из сокета" низкоприоритетные данные, и засунуть высокоприоритетные.
proto_dist замена или кастомные материи?
источник

c🦊

cleverfox 🦊 in ErlangRus
Valerii Vasylkov
proto_dist замена или кастомные материи?
не, кастомный протокол. Мне dist не подходит по соображениям безопасности. Хотя можно just for fun попробовать сделать такой dist
источник

СИ

Сергей Иванов in ErlangRus
Yuri Zhloba
Лайк
проблемка в том, что это будет тяготеть к openresty, т.е. целому фреймворку.  можно конечно и тонкой прослойкой оботись - конвертировать запрос в набор тьюплов, мы так делали - пробрасывали запросы в хранимки постгре , а на выход отдавать json какой-нить или нечто понятное конкретному клиенту .

если же делать что-то универсально е там захочется код  на erlang  в конфигах nginx, или на сишечке логику воять
источник

SP

Sergey Prokhorov in ErlangRus
а Nginx же поддерживает fast-cgi и uwsgi протоколы. Они могут подойти? Или они тоже текстовые?
источник

PK

Petr Kozorezov in ErlangRus
их надо будет со стороны эрланга парсить, а этого хочется избежать
источник

PK

Petr Kozorezov in ErlangRus
вообще хочется и json энкодить/декодить со стороны сишного кода
источник

SP

Sergey Prokhorov in ErlangRus
Petr Kozorezov
их надо будет со стороны эрланга парсить, а этого хочется избежать
хм. ну distribution же тоже делает binary_to_term
источник

c🦊

cleverfox 🦊 in ErlangRus
Petr Kozorezov
вообще хочется и json энкодить/декодить со стороны сишного кода
его тоже binary erlang termами передавать?
источник

PK

Petr Kozorezov in ErlangRus
cleverfox 🦊
его тоже binary erlang termами передавать?
да
источник

PK

Petr Kozorezov in ErlangRus
Sergey Prokhorov
хм. ну distribution же тоже делает binary_to_term
ну от этого никуда не денешься
источник

c🦊

cleverfox 🦊 in ErlangRus
Sergey Prokhorov
хм. ну distribution же тоже делает binary_to_term
term_to_binary как раз относительно легкая вещь
источник

SP

Sergey Prokhorov in ErlangRus
относительно чего? 😃
источник