LINUX.ORG.RU
решено ФорумAdmin

Микроскопический жабберосервер - есть ли?

 ,


1

2

Понадобился мелкий жабберосервер для сугубо технических нужд.

Вроде как в интернетах пишут что prosody - самый легковесный и всё такое, однако он как-то не выглядит совсем лёгеньким.

jabberd14 - вроде как мёртвенький давно, jabberd2 как-то тяжеловат, все остальные - ещё хуже.

Есть чего-нибудь типа httpd из busуbox'а ? Чтоб совсем маленький и только базовая функциональность? И чтоб зависел по-минимуму, типа там только от libexpat и libc.

ЗЫ: В общем, нашёл - в inetdextra есть милиписечный in.jabberd. Правда, оно ssl не умеет и s2s, но зато всего 20кил plain C.

Перемещено Pinkbyte из talks

★★★★★

Последнее исправление: Stanson (всего исправлений: 1)

Да, prosody. Если жаба душит за ресурсы, отключайте все ненужные модули.

Если будут конкретные проблемы при этом, пишите.

Andrey_Utkin ★★
()

Тоже занимался этим вопросом. Пришёл к выводу, что, кроме просоди ничего больше нет. Да и не плох он. История уязвимостей у него адекватная в сравнении с прочими

vehn
()
Ответ на: комментарий от Andrey_Utkin

Да нет с ним никаких проблем, просто для работы луа требуется и скриптятины там немало.

Хотелось что-то совсем микроскопическое и самодостаточное.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от t184256

Да я знаю сколько он жрёт, он у меня на серваке крутится. :) Хорошая штука, без вопросов.

Но in.jabberd всё-же на порядки (!) меньше :)

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Andrey_Utkin

Поделитесь потом опытом, как оно работает.

Ну минимальное перекидывание сообщениями между клиентами работает. Наверно можно даже в stunnel загнать, чтобы SSL был.

Ценность in.jabberd в том, что оно влезет даже в какой-нибудь PIC18, уж не говоря о ESP8266 и пр. Ну и допилить под свои нужды - дело 5 минут с таким объёмом кода. :)

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Ок. Неужели вы таки будете разворачивать это на упомянутых платформах?

Весьма любопытно было бы сравнить конкретные цифры а-ля «footprint» - занимаемый сервером объём на диске, объём занимаемой резидентной памяти, нагрузка на цпу при равной рабочей нагрузке, скорость запуска.

Andrey_Utkin ★★
()

Может, вам вообще стоит обойтись каким-то программным коммутатором доставки сообщений, zeromq там, я не знаю, или вообще поближе к голым сокетам?

Andrey_Utkin ★★
()
Ответ на: комментарий от tailgunner

Ну там как бы половина - комментарии, кода там строк 300. Ну и как бы с каких пор 20кил - это не микроскопический, особенно по сравнению с остальными серверами? Учитывая что оно вообще ничего кроме libc не требует.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Andrey_Utkin

Ок. Неужели вы таки будете разворачивать это на упомянутых платформах?

Возможно. Пока не определился.

Весьма любопытно было бы сравнить конкретные цифры а-ля «footprint» - занимаемый сервером объём на диске, объём занимаемой резидентной памяти, нагрузка на цпу при равной рабочей нагрузке, скорость запуска.

Ну как бы in.jabberd даже и сравнивать нет смысла. :) Оно настолько минималистично, насколько возможно для обеспечения минимальной функциональности.

# ls -la in.jabberd
-rwxrwxr-x  1 root root 14040 Jan 31 16:19 in.jabberd*
# ldd in.jabberd 
        libc.so.6 => /lib/libc.so.6 (0x4001e000)
        /lib/ld-linux.so.2 (0x40000000)

Это для x86.

Может, вам вообще стоит обойтись каким-то программным коммутатором доставки сообщений, zeromq там, я не знаю, или вообще поближе к голым сокетам?

Для XMPP есть готовые клиенты для любых платформ.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Разумеется 20 килобайт. Вроде как речь о микроскопическом сервере, я полагал это и так понятно.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Объем исходного кода обычно меряется в LoC.

Это когда надо пиписьками померяться. А тут топик про наоборот.

Ну и LoC - это весьма неточная мера. Любую софтину (ну кроме питонской наверно) можно при желании уложить в 1 строку кода. :) Этим жабоскриптеры сильно увлекаются обычно.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от mammuthus

Тогда при чем тут комментарии?

Очевидно при том, что занимают место и не являются кодом, который, возможно, нужно будет пилить под свои нужды.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Объем исходного кода обычно меряется в LoC.

Это когда надо пиписьками померяться.

Это когда надо получить более-менее осмысленную метрику. Килобайты осмысленны только для объектного кода.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Это когда надо получить более-менее осмысленную метрику.

Угу.

# wc -l jquery.min.js 
4 jquery.min.js

Сильно осмысленно?

Stanson ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Играясь с настройками indent обычно можно варьировать количество строк кода минимум в 2 раза в обе стороны. Твой «минифицированный код» - всего лишь предельный вариант такой мастурбации. Из него легко получается вполне читаемый и редактируемый код после какого-нибудь аналога indent для жабоскрипта. Да даже наверно и indent справится.

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

Играясь с настройками indent обычно можно варьировать количество строк кода минимум в 2 раза в обе стороны.

В 2 раза - не удастся. И даже при манипуляциях с indent LoC остаются более осмысленной метрикой, чем KiB.

Твой «минифицированный код» - всего лишь предельный вариант такой мастурбации.

Минифицированный код перестает отвечать определению исходного кода, см. OSD.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от Stanson

не вопрос. я просто показал, сколько у меня. хочешь ищи меньше, у меня есть более интересные занятия.)

crypt ★★★★★
()
Ответ на: комментарий от crypt

Дык я уже нашёл на порядок меньше, это и в топике написано, и в сообщениях за сутки до твоего. Чукча не читатель, чукча писатель? :) :) :)

Stanson ★★★★★
() автор топика
Ответ на: комментарий от Stanson

а, ну да, я это не заметил. не читал все до конца.

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.