The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В рамках проекта Lwan развивается новый высокопроизводительный HTTP-сервер

24.04.2016 10:29

Бразильский разработчик Леандро Перейра (Leandro Pereira) из Intel Open Source Technology Center развивает новый легковесный HTTP-сервер Lwan, нацеленный на минимальное потребление ресурсов и поддерживающий отдачу как статического, так и динамического контента. Lwan можно использовать обособленно или в форме встраиваемой библиотеки. Разработка Lwan началась четыре года назад в форме персонального исследовательского проекта, нацеленного на изучение методов многопоточной обработки данных и неблокирующего ввода. Код проекта написан на языке Си и распространяется под лицензией GPLv2+. Официально поддерживается работа только в Linux, поскольку обработка событий завязана на механизм epoll (имеется неофициальный порт для FreeBSD/kqueue).

Сервер включает встроенный движок-шаблонизатор Mustache, поддерживает подключение обработчиков контента, написанных на языках Си и Lua, и предоставляет API для разработки интегрированных с HTTP-сервером web-приложений и для создания дополнений, расширяющих возможности HTTP-сервера. Lwan поддерживает протоколы HTTP/1.0, HTTP/1.1 (с поддержкой keep-alive и pipelined) и PROXY, для перенаправления запросов применяется сопоставление по шаблонам Lua.

Для асинхронной обработки соединений используются сопрограммы, выполнение которых координируется встроенным планировщиком совместной многозадачности, что позволяет создать иллюзию блокирующего ввода/вывода для обработчиков запросов. Сервер обеспечивает минимальное потребление памяти и минимизирует число системных вызовов, операций копирования и распределения памяти. Например, для 10 тысяч ожидающих обработки соединений расходуется около 500 Кб ОЗУ. Размер исполняемого файла составляет 110 Кб.

В зависимости от размера файла выбирается оптимальный метод его отдачи, например, для файлов больше 16 Кб не используется прямая отдача без промежуточного копирования в пространство пользователя, а для небольших файлов применяется векторизированный ввод/вывод с задействованием отражённых через mmap буферов.

  1. Главная ссылка к новости (https://lwan.ws/...)
  2. OpenNews: asmttpd - http-сервер на ассемблере
  3. OpenNews: Представлен новый высокопроизводительный HTTP-сервер H2O
  4. OpenNews: Facebook открыл код Proxygen, фреймворка для создания HTTP-серверов
  5. OpenNews: Эксперимент по реализации http-сервера, взаимодействующего напрямую с сетевым адаптером
  6. OpenNews: Релиз высокопроизводительного http-сервера Monkey 0.10
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/44301-http
Ключевые слова: http, lwan
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (150) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:50, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    На гоу это занимало бы мегабайт 30.
     
     
  • 2.7, Аноним (7), 12:00, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –17 +/
    Не сравнивайте разные вещи, на go идет самодостаточный бинарник, а этот бинарник на C требует glibc, а он потянет больше чем 30 мегабайт в итоге.
     
     
  • 3.9, Аноним (-), 12:23, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Вот же врунишка Hello world с оф сайт первый в статике весит меньше метра ... большой текст свёрнут, показать
     
     
  • 4.13, angra (ok), 12:34, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты забыл продемонстрировать главное - его работу без libc.
     
     
  • 5.15, Олег (??), 12:55, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А ты забыл что go тоже требует libc:
    $ readelf -d ..
    ..
    0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
    0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
     
     
  • 6.17, 8203 (?), 13:13, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
      -tags netgo
     
  • 6.35, angra (ok), 15:17, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    $ go build hw.go
    $ readelf -d hw

    There is no dynamic section in this file.
    $ ldd hw
    not a dynamic executable


    А не лжец ли ты?

     
     
  • 7.54, Аноним (-), 17:24, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А как насчет размером похвастаться? Что, "хелловордишко" на 5 метров всего получается, а если побольше логики сунуть то либрофис начинает отдыхать? Гугл вообще тормозное блоатваре умеет, у них серверов много. Их даже питон не парил, до поры до времени.
     
     
  • 8.60, angra (ok), 17:46, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Если очень хочется, то держи 35236 hw_gccgo Динамическая линковка Go 71884 hw... текст свёрнут, показать
     
     
  • 9.85, Аноним (-), 22:34, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Крутое сравнение Кода нет, флагов сборки нет, какие-то цифры Видимо на слово п... текст свёрнут, показать
     
     
  • 10.101, Аноним (-), 06:10, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Владелец encode ru, проследуйте на свой ресурс ... текст свёрнут, показать
     
     
  • 11.105, Аноним (-), 10:16, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Очень жаль что я не его владелец Потому что специалистов там в отличие от - мно... текст свёрнут, показать
     
  • 10.112, angra (ok), 14:00, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда грубо сравниваются разные программы, то умные и честные люди их сравнивают... текст свёрнут, показать
     
     
  • 11.136, Аноним (-), 16:11, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А кто тебя знает что ты считаешь дефолтными настройками По дефолту сишный ком... большой текст свёрнут, показать
     
  • 7.59, Аноним (-), 17:43, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ой щи. Ребята, вы хоть прокачайтесь в изучении вопроса о компиляции!

    Вот эта строчка:
    >a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, not stripped

    Равносильна:
    >There is no dynamic section in this file.

    Потому что называется _статической_ линковкой. Однако, для glibc все что слинкованно с -lpthread всеравно требует наличия рантайм библиотек, в частности того же libc.so и librt.so, libpthread.so! Потому что кто-то слишком палится, что его код кто-то сопрет.

     
     
  • 8.65, angra (ok), 17:54, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому я и сказал о необходимости продемонстрировать работоспособность без libc... текст свёрнут, показать
     
     
  • 9.68, Аноним (-), 18:09, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вот лови poc lwan readelf -d a out There is no dynamic section in this file p... большой текст свёрнут, показать
     
     
  • 10.70, angra (ok), 18:13, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже ты так и не понял, о чем речь шла ... текст свёрнут, показать
     
     
  • 11.72, Аноним (-), 18:20, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И о чем же Что для тебя выражение без libc Я так понял это когда прога собра... текст свёрнут, показать
     
     
  • 12.78, angra (ok), 20:14, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Это значит, что приложениие будет работать при удалении _из системы_ glibc, напр... текст свёрнут, показать
     
     
  • 13.81, Аноним (-), 21:55, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ты это проверял лично Или просто трындишь надеясь на свою правоту Что это Как... большой текст свёрнут, показать
     
     
  • 14.83, angra (ok), 22:16, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не, ты реально безнадежен Специально ведь подчеркнул ключевые моменты, но ты оп... текст свёрнут, показать
     
     
  • 15.84, Аноним (-), 22:20, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Давай мне утилиту для проверки как ты сказал всех моментов Или слабо отвечать з... текст свёрнут, показать
     
  • 15.86, Аноним (-), 22:36, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    И что ты втираешь мне все про glibc Как это связано с кодом lwan или с кодом go... текст свёрнут, показать
     
  • 13.87, Аноним (-), 22:45, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Дядя, ты совсем дубак Представь себе, если программа слинкована статически - он... текст свёрнут, показать
     
     
  • 14.94, Аноним (-), 23:54, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не совсем Ребята из glibc постарались сделать так, что librt требует рантайм ли... текст свёрнут, показать
     
     
  • 15.107, angra (ok), 10:53, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Есть и другие проблемные функции Можно узнать, зачем _мне_ нужно читать код lw... текст свёрнут, показать
     
     
  • 16.127, Аноним (-), 22:49, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Сообщение 4 13, цитирую Ты это, завязывай с пустословием пока пацанов совсем не... текст свёрнут, показать
     
  • 15.114, Аноним (-), 15:35, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    В сях можно хоть -nostdlib сказать и дальше сам как хочешь реализуй Можно также... текст свёрнут, показать
     
  • 15.133, Аноним (-), 11:41, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Странное решение Тем не менее, для runtime-less окружений в C навалом опций, ... большой текст свёрнут, показать
     
  • 14.99, Алконим (?), 03:22, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    У меня статически слинкованая програма на Го, которую я скомпилил на Федоре, отк... текст свёрнут, показать
     
     
  • 15.115, Аноним (-), 15:38, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сэр отпинал всех, от go до musl Хорошо, а как это делать правильно по мнению сэ... текст свёрнут, показать
     
  • 4.45, Аноним (-), 16:48, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > "Hello world" с оф.сайт (первый) в статике весит меньше метра!

    А тут весь сервак 110 кил. И без затуплений из-за GC :)

     
  • 3.21, Аноним (-), 14:00, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А питон +500 мб. Нужно просто правильно инструмент выбирать.
     
     
  • 4.41, Аноним (-), 16:21, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > А питон +500 мб. Нужно просто правильно инструмент выбирать.

    Очередной "не слышал, не знаю, но мое мнение таково …"
    Tinypy
    > implementation of python in 64k of code

    впрочем,  неясно, причем тут вообще питон …

     
     
  • 5.46, Аноним (-), 16:50, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> implementation of python in 64k of code

    А он по славной питоновской традиции как обычно половину скриптов выполнять не сможет? А то что сможет - будет ползать с известной скоростью, как обычно? Динамический язык вообще сложно скомпилить, только субсет. А если jit - годогенерация опять же тормозит и памяти много трескает.

     
     
  • 6.67, Нимано (?), 18:09, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И че Вам шашечки выполнять любые скрипты или ехать конкретное приложение, т ... большой текст свёрнут, показать
     
     
  • 7.89, Аноним (-), 23:24, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только скорость и потребление ресурсов будет раз в 50 хуже До оптимизации систе... большой текст свёрнут, показать
     
     
  • 8.98, Нимано (?), 03:00, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Сами что-то придумали, сам опровергли 8211 молодца А может быть, вы опреде... большой текст свёрнут, показать
     
     
  • 9.116, Аноним (-), 16:10, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тут было явно более одного анонима и думали они по разному, однако От компиляц... большой текст свёрнут, показать
     
     
  • 10.124, Нимано (?), 20:03, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну да, писать из под анонима так удобно 8211 если что, то это не я сел в луж... большой текст свёрнут, показать
     
     
  • 11.135, Аноним (-), 15:28, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А еще анонимы могут подключаться к дискуссии если у них есть возражения У лолок... большой текст свёрнут, показать
     
     
  • 12.137, Нимано_ (?), 20:19, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    О, четвертый или пятый другой аноним подключился Ну да, и знатно садиться... большой текст свёрнут, показать
     
     
  • 13.150, Аноним (-), 10:48, 28/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Посадить меня в лужу может какой-нибудь сильный сишник Как тот разработчик нжин... большой текст свёрнут, показать
     
     
  • 14.156, Нимано_ (?), 17:29, 28/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Наконец-то хоть до одного из анонимов дошло А то компилировать нельзя, ИИ нуже... большой текст свёрнут, показать
     
  • 2.16, h31 (ok), 13:11, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > На гоу это занимало бы мегабайт 30.

    Если тебе не хватает места на диске - могу выслать карту памяти. Как раз валялась одна RS-MMC на 32 мб. В общем, пиши адрес.

     
     
  • 3.113, Аноним (-), 14:14, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Он под мостом живет
     
  • 2.34, Аноним32 (?), 15:13, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    зачем же так преувеличивать :)
    вот смотрю:
    % lh /usr/lib/go/pkg/linux_amd64_dynlink/libstd.so
    -rw-r--r-- 1 root root 41M апр 24 14:58 /usr/lib/go/pkg/linux_amd64_dynlink/libstd.so
    а это размер всей стандартной динамической библиотеки языка Go.

    а под 30-атник будет весить аналог gitlab-a написанного на go, к примеру тот же gogs:
    % lh /usr/share/gogs/gogs
    -rwxr-xr-x 1 root root 31M мар  7 12:53 /usr/share/gogs/gogs

     
     
  • 3.47, Аноним (-), 16:57, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > а это размер всей стандартной динамической библиотеки языка Go.

    Поэтому даже heдlo world будет жрать не менее 40 метров памяти, прикинь? Просто потому что библу вгрузил. Не в обиду гугелю, libre office будет стартовать быстрее чем такие программы.

     
     
  • 4.66, angra (ok), 18:01, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    $ time ./hw >/dev/null

    real 0m0.002s
    user 0m0.000s
    sys 0m0.002s

    Сегодня просто набег лжецов.

     
     
  • 5.90, Аноним (-), 23:27, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Хорошо врешь, спору нет. А теперь то же самое, с холодным кэшом. Чтобы совсем ЗБС - с механического диска.
     
     
  • 6.108, angra (ok), 11:02, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Да легко:

    $ time ./hw >/dev/null

    real 0m0.042s
    user 0m0.000s
    sys 0m0.002s

    Что еще придумаешь? Попросишь теперь с пятидюймовой дискетки стартануть на 8086 с 640kb памяти?


    Хотя если очень хочется страшных чисел, то я тебе помогу

    $ time go run hw.go >/dev/null

    real 0m1.357s
    user 0m0.527s
    sys 0m0.059s

    Можешь теперь сравнить с запуском libreoffice с его предварительной сборкой из исходников.

     
     
  • 7.118, Аноним (-), 16:17, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты что-то совсем заврался, паря Если у тебя либа 40 метров весит, она явно не м... большой текст свёрнут, показать
     
     
  • 8.122, angra (ok), 16:46, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то это был вариант для статической линковки, которая по дефолту в Go испо... большой текст свёрнут, показать
     
     
  • 9.139, Аноним (-), 22:35, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Выбор из hello world на мег и стандартной либы на 40 - хорошо придумано А вменя... большой текст свёрнут, показать
     
     
  • 10.145, Аноним (-), 16:53, 27/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    похоже парниша ты просто не осилил установку Go и теперь пытаешься нелепо отмаза... текст свёрнут, показать
     
  • 6.109, Аноним32 (?), 11:17, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    на довольно древнем нетбуке с hdd

    % cat /sys/block/sda/queue/rotational
    1

    используется стандартный компилятор go, не gccgo.
    хеловорд со статической линковкой:
    # sync && echo 3 > /proc/sys/vm/drop_caches
    % time ./hello
    real 0m0.087s
    user 0m0.000s
    sys 0m0.003s

    с динамической, то есть с подгрузкой всей стандартной динамической библиотеки языка Go на 41 мб:
    # sync && echo 3 > /proc/sys/vm/drop_caches
    % time ./hello_lshared
    real 0m0.844s
    user 0m0.027s
    sys 0m0.047s

    в вдогонку к нелепому высказыванию про - "libre office будет стартовать быстрее чем такие программы"
    # sync && echo 3 > /proc/sys/vm/drop_caches
    % time libreoffice
    real 0m31.898s
    user 0m0.047s
    sys 0m0.113s

     
  • 4.74, Аноним32 (?), 18:25, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ты наверное просто не совсем вгрузил, это ВСЕ стандартные динамические библиотеки, понятно что для одного приложения её тащить не кто не будет в этом смысле статическая линковка вполне себе нормально, а если их уже перевалило за десяток или два то почему бы и нет, тогда и хеловорд будет весить:
    % lh                      
    итого 732K
    -rwxr-xr-x 1 admin admin 720K апр 24 18:11 hello
    -rwxr-xr-x 1 admin admin 7,7K апр 24 18:10 hello_lshared
    -rw-r--r-- 1 admin admin   75 апр 24 18:08 main.go

    в первом статическая во втором динамическая, разница ощутима

     

     ....большая нить свёрнута, показать (57)

  • 1.2, Аноним (-), 11:15, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    nginx не?
     
     
  • 2.3, nginx (?), 11:25, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    не. :)
     
  • 2.22, Аноним (-), 14:01, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    nginx по мнению некоторых экспертов уже обрюзг
     
  • 2.24, Аноним (-), 14:02, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    nginx старпёрит вместе с апачем
     
     
  • 3.69, Firefoxic (ok), 18:13, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Lwan поддерживает протоколы HTTP/1.0, HTTP/1.1 (с поддержкой keep-alive и pipelined) и PROXY, для перенаправления запросов применяется сопоставление по шаблонам Lua (http://www.lua.org/manual/5.2/manual.html#6.4.1).

    Ну да, Lwan совсем не старпёрит со своими HTTP/1.0, HTTP/1.1. При том что HTTP/2 уже давно в релизе, и старпёрные NginX и Apache его на столько же давно умеют (после замены пары строк в конфиге).

     
     
  • 4.119, Аноним (-), 16:21, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Минутку, nginx умеет HTTP/2 без году неделю. В "mainline" ветке 1.9 только, которая еще не "stable" ни разу. Зато уже успели там посадить crash bug. Качество кода? "Потестируем на пользователях беспатной версии" - вот и все качество.
     
  • 2.53, Аноним (-), 17:22, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > nginx не?

    А там вообще можно "Handlers can be written in C and Lua"? Как раз такое было надо. Там аж пример есть, менее полкило колда, при том что это будет скростной обрабтотчик на си. EPIC WIN, ща прикрутим полезняку. Для полного кайфа - еще б json он заумел, была бы просто песня.

     
     
  • 3.71, Firefoxic (ok), 18:18, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё б HTTP/2 он заумел.
     
     
  • 4.97, Аноним (-), 01:54, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Это который бинарный? Не нужно его уметь. Совсем
     
     
  • 5.111, Никто (??), 13:21, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Аллергия на двоичность? А ведь это, вкупе с другими особенностями HTTP/2 - ускорение интернета, построенном на более рациональном использовании железа. Разве не прекрасно?
     
     
  • 6.117, tikitak (?), 16:13, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Не с той стороны ускоряют. Впрочем очередная корполапша из серии системд.
     
  • 5.120, Аноним (-), 16:22, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это который бинарный? Не нужно его уметь. Совсем

    В байте 8 битов, это дает 256 возможных значений. И все машины на самом деле работают вот так. Если тебя это не устраивает - ну не знаю, иди водителем такси. Там надо только красный, желтый и зеленый отличать.

     
     
  • 6.132, Moomintroll (ok), 09:49, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В байте 8 битов

    Ну кто ж так умничает?

    https://ru.wikipedia.org/wiki/Байт

    И 6, и 7, и 9, и даже 36!

     
     
  • 7.140, Аноним (-), 22:37, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Системы с байтами где другое количество битов сейчас там же где и динозавры, т.е. в Вальхалле.
     

  • 1.4, Аноним (-), 11:43, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Код проекта написан на языке Си и распространяется под лицензией GPLv2+.
     
     
  • 2.43, Аноним (-), 16:37, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Потому и лучше бздунского nginx'а.
     
     
  • 3.48, Аноним (-), 17:04, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Потому и лучше бздунского nginx'а.

    Nginx, к сожалению, скатываеся. Появилась коммерческая версия, в опенсорсную версию коммитят по остаточному принципу, полтора человека. И репы в каком-то hg. Где гит? Ах, у lwan? Ок. А загружаемые модули, которые в nginx до сих пор только в экспериментальной версии, в форке от tencent уже пять лет как есть. И наверное форк сделали не от хорошей жизни.

     
     
  • 4.80, Аноним (-), 21:52, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это плохо Да ну ... большой текст свёрнут, показать
     
     
  • 5.91, Аноним (-), 23:47, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Да Открытая версия стала развиваться по остаточному принципу и рассматриваться ... большой текст свёрнут, показать
     
     
  • 6.128, Valentin V. Bartenev (?), 23:03, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Привет от случайно залетевшего разработчика nginx На всякий случай, репозитор... большой текст свёрнут, показать
     
     
  • 7.129, . (?), 02:38, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    WoW! Чуваки! Спасибо вам за nginx, прям вот поклон до пояса!

    Я жадных детей не слушайте, пусть себе песочком побросаются, это только их мамку (которой чад и отмывать) волновать должно :)

     
  • 7.151, Аноним (-), 11:53, 28/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Глядя на вектор тяги нжинкса - я опасаюсь что залетать могут начать пользователи... большой текст свёрнут, показать
     

  • 1.5, robux (ok), 11:52, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    > новый высокопроизводительный HTTP-сервер

    Шёл 2016 год, а они всё ещё веб-сервера клепают... неандертальцы!

     
     
  • 2.8, Аноним (-), 12:03, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +22 +/
    > Шёл 2016 год, а они всё ещё веб-сервера клепают... неандертальцы!

    Ага, все уже давно переключились на веб-браузеры. Ведь, согласно статистике, веб-браузеры гораздо популярнее веб-серверов, и доля последних продолжает снижаться. Скоро только браузеры и останутся.

     
     
  • 3.14, анонимоус7657 (?), 12:36, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А нельзя ли запустить вебсервер из браузера?
     
     
  • 4.18, sage (??), 13:23, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Opera Unite!
     
  • 4.44, Аноним (-), 16:42, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну если эмулятор архитектуры x86 смогли на JS написать, то почему бы на нём не написать вебсервер?
     
     
  • 5.49, Аноним (-), 17:06, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну если эмулятор архитектуры x86 смогли на JS написать, то почему бы
    > на нём не написать вебсервер?

    Запускаешь jslinux от bellard'а, компилишь там http сервер... только как на него конектиться снаружи то?

     
     
  • 6.102, nonecto (?), 09:00, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Запускаешь jslinux от bellard'а,

    под ним виртуальную машину с виндовсом, а уже там иис. Вуаля.

     
     
  • 7.152, Аноним (-), 11:57, 28/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > под ним виртуальную машину с виндовсом, а уже там иис. Вуаля.

    Вместо шахмат можно будет играть в настройку IIS. Двадцать минут на обдумывание очередного хода у тебя точно будет.

     
  • 2.29, Kodir (ok), 14:55, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Юниксвэй же, ну 1 Должно быть 100500 маленьких программ, каждая из которых уме... большой текст свёрнут, показать
     
     
  • 3.55, Аноним (-), 17:36, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сабж кажется будет ОЧЕНЬ кстати. А этот ваш IIS в моей задаче совсем не годится. Хорошо что есть опенсорс.
     

  • 1.6, Аноним (-), 12:00, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Размер исполняемого файла составляет 110 Кб.

    $ ls -l /bin/cp
    -rwxr-xr-x 1 root root 79968 Sep  5  2015 /bin/cp

    А очень даже неплохо. Всего чуть больше утилиты копирования файлов :)

     
     
  • 2.12, Аноним (-), 12:28, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    И даже меньше

    $ ls -l /bin/cp
    -rwxr-xr-x. 1 root root 155136 Nov 25 15:55 /bin/cp

    $ cat /etc/system-release
    Red Hat Enterprise Linux Server release 7.2 (Maipo)

     
  • 2.26, Аноним (-), 14:26, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > $ ls -l /bin/cp
    > -rwxr-xr-x 1 root root 79968 Sep  5  2015 /bin/cp
    > А очень даже неплохо. Всего чуть больше утилиты копирования файлов :)

    *присоединяется к замеру и достает свой*



    $ ls -l /bin/cp      
    -r-xr-xr-x  1 root  wheel  20488 3 Jan 18:22 /bin/cp
    $  readelf -h /bin/cp|grep Mach  
      Machine:                           Advanced Micro Devices X86-64


     
     
  • 3.56, Аноним (-), 17:38, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > 20488

    Ого! FreeBSD? Busybox? RedHat 3.0? Нет, серьёзно, в чём секрет?

     
     
  • 4.73, Аноним (-), 18:21, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ого! FreeBSD? Busybox? RedHat 3.0?

    FreeBSD 10.3 amd64
    > Нет, серьёзно, в чём секрет?

    Вангую, что в урезанных фичах – сравните маны
    http://www.freebsd.org/cgi/man.cgi?cp

    Гнутая версия размером особо не отличается:
    >  141024 27 Feb 18:15 /usr/local/bin/gcp

     
     
  • 5.79, Аноним (-), 21:35, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > FreeBSD 10.3 amd64

    Понятно. Ещё один плюс в копилку FreeBSD в плане качества кода.

    > Вангую, что в урезанных фичах – сравните маны

    Есть большие сомнения в том, что во FreeBSD-версии НАСТОЛЬКО меньше функций. И в том, так ли нужны эти "урезанные" фичи, или это что-то уровня цветовой подсветки вывода в GNU grep.

     
     
  • 6.92, Аноним (-), 23:50, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Понятно. Ещё один плюс в копилку FreeBSD в плане качества кода.

    В отсутствии фич. В линухе на btrfs делаем cp --reflink и получаем 10 виртуалок за 10 секунд. В фрибзде .. так вообще нельзя. Можете копировать пятигиговые файлы десятками обычным способом. Но это займет множество времени. Линуксоид всю группу развернет и запустит быстрее чем бздун копирование завершит...

     
     
  • 7.96, Аноним (-), 00:40, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    В целом, вы, вероятно, правы, в рамках текещуго обсуждения Но что касается каче... большой текст свёрнут, показать
     
     
  • 8.121, Аноним (-), 16:36, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Бабка на лавочке сказала А мы им пользуемся Позволяет разворачивать виртуалки ... большой текст свёрнут, показать
     
     
  • 9.138, Аноним (-), 20:53, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, бабка на лавочке с btrfs А вы им везде пользуетесь, или только когда надо в... большой текст свёрнут, показать
     
     
  • 10.153, Аноним (-), 13:14, 28/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Крутая бабка, где такая лавочка Бэкапы должны лежать на отдельных ФС Желательн... большой текст свёрнут, показать
     
  • 7.100, Аноним (-), 03:25, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > В отсутствии фич. В линухе на btrfs делаем cp --reflink и получаем
    > 10 виртуалок за 10 секунд.

    А что с ext4? А с F2FS? А с …? А зачем тогда пихать поддержку ФС-специфичных вещей в cp? А давайте тогда, в лучших традициях комбайнерства еще и распаковку сжатых файлов и копирование из tar добавим, вдруг кому-то понадобится?

    > Можете копировать пятигиговые файлы десятками обычным способом. Но это займет множество
    > времени.

    Опять традиционное "не, не слышал, но мнение имею!"?

    Ну да, эти ретрограды продолжают делать ФС-специфичные вещи ФС специфичными утилитами:

    zfs snapshot
    zfs clone
    https://www.freebsd.org/cgi/man.cgi?format=html&manpath=FreeBSD 8.3-RELEASE&query=zfs
    > creating  a  clone  is  nearly instantaneous, and initially consumes no additional space.

     
     
  • 8.104, nonecto (?), 09:17, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    yezz FreeBSD is ZFS Линуха тоже зфс умеют Жаль, что все эти придурошные лицен... текст свёрнут, показать
     
     
  • 9.110, Аноним (-), 12:50, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Да ну, не верю Если линуховский ср не может в --reflink для zfs, то нормальной... текст свёрнут, показать
     
     
  • 10.154, Аноним (-), 13:28, 28/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Из зала подсказывают что это какие-то проблемы в архитектуре ZFS У ZFS дисковые... текст свёрнут, показать
     
  • 8.123, Аноним (-), 17:05, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А ничего, они это не умеют А ubifs и вовсе только на raw NAND работает В линух... большой текст свёрнут, показать
     
     
  • 9.130, . (?), 02:43, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Это только до тех пор, пока терять, кроме развалов с порнухой - нечего ... текст свёрнут, показать
     
     
  • 10.142, Анонис (?), 09:40, 27/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Где массовый писк пользователей фэйсбука о потере фотографий котят ... текст свёрнут, показать
     
  • 9.134, Аноним (-), 15:22, 26/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну а что с распаковкой-то И копированием из tar Как же жить без этих фич Очен... большой текст свёрнут, показать
     
     
  • 10.143, Аноним (-), 10:15, 27/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Упаковка распаковка файлов у btrfs в дефрагер встроена Можно сжать распаковать ... большой текст свёрнут, показать
     
     
  • 11.144, Аноним (-), 14:39, 27/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это конечно отлично, но тайна неумения cp в сжатие распаковку и копирование из ... большой текст свёрнут, показать
     
     
  • 12.155, Аноним (-), 14:19, 28/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Так раскрой, если видишь какой-то сценарий использования и это будет чем-то лучш... большой текст свёрнут, показать
     
  • 3.103, бедный буратино (ok), 09:10, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    -r-xr-xr-x  1 root  bin  130672 Apr 23 20:38 /bin/cp
     
  • 2.106, Аноним (-), 10:27, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    % ls -l /bin/cp
    -r-xr-xr-x  1 root  wheel  16664 Jul 21  2015 /bin/cp

    % uname -a
    DragonFly rabbitmq.domain.loc 4.3-DEVELOPMENT DragonFly v4.3.0.291.g96acd-DEVELOPMENT #0: Mon Jul 20 23:05:15 UTC 2015     root@pkgbox64.dragonflybsd.org:/usr/obj/usr/src/sys/X86_64_GENERIC  x86_64

     

     ....большая нить свёрнута, показать (23)

  • 1.11, Аноним (-), 12:28, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    не одного преимущества перед nginx, в могильник апатча
     
     
  • 2.19, NoName (?), 13:34, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Лицензия лучше.
     
  • 2.23, Crazy Alex (ok), 14:02, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это нгинксу туда дорога в итоге - совсем в монстра превратился. А здесь - понятная функциональность, компактность и правильная лицензия.
     
     
  • 3.25, Аноним (-), 14:06, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Wall-Mart тоже когда-то был маленьким магазином
     
     
  • 4.37, Crazy Alex (ok), 15:31, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Отличное сравнение - магазин для домохозяек. А практически по любой тематике есть специализированные торговцы, от которых толку куда больше. Верной дорогой апача идут товарищи.
     
     
  • 5.58, Аноним (-), 17:42, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Отличное сравнение - магазин для домохозяек.

    Инкубатор апача - задворки магазина секонд хэнд. Место где бесплатно вываливают то что совсем безнадежно продать, но выкидывать вроде жалко.

     
     
  • 6.61, Crazy Alex (ok), 17:48, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А с этим никто и не спорил
     
  • 2.32, анонимчик (?), 15:05, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ты плагины пробовал под nginx делать? с lwan все попроще.
     
  • 2.57, Аноним (-), 17:39, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > не одного преимущества перед nginx, в могильник апатча

    Ты видел пример обработчика на сях в этой штуке? Сравни с нжинксом, да?!

     
  • 2.157, анонимчик (?), 09:20, 24/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >не одного преимущества перед nginx, в могильник апатча

    - для nginx ты пишешь плагины, а эту либу встраиваешь в свой совт
    - в nginx процессы, а тут потоки - можно использовать много-поточные инструменты, в nginx надо городить ipc
    - nginx большой, lwan маленький
    - api nginx мутное, тут прозрачное

     

  • 1.20, Аноним (-), 13:58, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Is there a stable release?
    There's just one release: the current. This might or might not change in the future.

    Ok

     
  • 1.27, Аноним (-), 14:31, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Где сравнение с собранным в минимальной конфигурации nginx?
     
  • 1.28, Kodir (ok), 14:46, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    "векторизированный ввод/вывод"? Кто-нибудь в мире кроме этого проекта применяет подобную терминологию? О каких векторах речь?
     
     
  • 2.39, lv7e (?), 16:06, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Думаю, имеется в виду применение векторных инструкций процессора. В теории это может в десятки раз ускорить обработку.
     
     
  • 3.50, Аноним (-), 17:10, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Векторизированный ввод-вывод - это io, использующее readv/writev функции, которые работают с векторами (читай массивами) указателей на участки памяти, откуда/куда надо прочитать/записать данные. Это позволяет за один системный вызов совершить сразу несколько операций ввод-вывод, сэкономив на переключениях контекста.
     
     
  • 4.52, Аноним (-), 17:20, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    src/os/unix/ngx_readv_chain.c
    src/os/unix/ngx_writev_chain.c
     
     
  • 5.62, Аноним (-), 17:48, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > src/os/unix/ngx_readv_chain.c
    > src/os/unix/ngx_writev_chain.c

    У нжинкса все сильно хуже c качеством кода при огромном размере, у них вообще не замечено fuzzing, использования asan/ubsan, а если их и проверял когда-то coverity то это было давно и неправда. И вместо coverity score = 0.0 они получают сразу CVE. Более того, код nging полон архаизмов и костылей. А написать модуль - можно, но - неоправданно сложно и криво.

     
     
  • 6.75, Аноним (-), 18:42, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Недавно их проверяли парни из google/cloudflare так что вы обманываете.
     
     
  • 7.93, Аноним (-), 23:53, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Недавно их проверяли парни из google/cloudflare так что вы обманываете.

    Надавно у них пачка CVE была. Вплоть до remode code execution. А еще кодовая база накопила хаков и костылей на все случаи жизни. И все бы ничего, но например свой модуль написать - очень геморно. JS в конфиге? Спасибо. Но написать "обработчик" сабжу будет куда быстрее и проще.

     
  • 6.126, Valentin V. Bartenev (?), 22:43, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Привет эксперту по качеству кода от разработчика nginx.

    Смею заверить, что качество кода является одним из первостепенных критериев, по которому принимается решение о включении того или иного кода в проект. Отсутствие предупреждений различных компиляторов при сборке для нас является стандартом, опция -Werror используется по умолчанию.

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

    Мы активно разрабатываем и поддерживаем набор функциональных тестов. Счет тестам идет на тысячи. Можете свободно пользоваться и принять участие в разработке: http://hg.nginx.org/nginx-tests/  Покрытие кода тестами мониторится с помощью специального анализатора.

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

    Для проверки соответствия формата типу переменных в функциях логгирования был написан и используется специальны плагин к clang.

    24x7 трудится несколько машин с фаззингом и ASan-ом. О том, что несколько проблем было найдено таким способом можно узнать из коммит логов и на сайте afl-fuzz.

    Периодически нас пытаются проверять ребята из PVS-Studio, о чем даже писали статью:
    http://www.viva64.com/ru/b/0246/

    Буду очень благодарен, если эксперт соизволит также предоставить список "архаизмов и костылей", которые по его мнению мешают nginx быть надежным, безопасным, производительным и функциональным веб-сервером.

    Жду также советов по улучшению качества кода и совершенствованию методов тестирования.

    Спасибо.

     
     
  • 7.141, Аноним (-), 04:25, 27/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Привет, эксперты по проприетари и секретам В сабже это как-то сильно заметнее ... большой текст свёрнут, показать
     
     
  • 8.146, Аноним (-), 17:26, 27/04/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я никак не связан с нгинкс, но с некоторыми из ваших претензий не согласен хотя... большой текст свёрнут, показать
     
     
  • 9.148, Аноним (-), 23:38, 27/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Иногда возникнет желание прикрутить немного логики, желательно с нативной произв... большой текст свёрнут, показать
     
  • 2.82, Андрей (??), 22:15, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > "векторизированный ввод/вывод"? Кто-нибудь в мире кроме этого проекта применяет подобную терминологию?

    Ага. VLC.

    tls: use I/O vector for sending
    https://mailman.videolan.org/pipermail/vlc-commits/2016-January/033926.html

    gnutls: use vectorized sends on all platforms
    https://mailman.videolan.org/pipermail/vlc-commits/2016-January/033928.html

    tls: use I/O vector for receiving
    https://mailman.videolan.org/pipermail/vlc-commits/2016-January/033930.html

     

  • 1.31, анонимчик (?), 15:04, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    там корутины на стероидном ассемблере - есть ограничение на размер данных в стеке. при попытке разместить 8КБ - падало.
     
     
  • 2.149, Аноним (-), 07:13, 28/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > там корутины на стероидном ассемблере - есть ограничение на размер данных в
    > стеке. при попытке разместить 8КБ - падало.

    Стэк всегда ограничен. Даже без корутин. При попытке разместить 8МБ данных все падало.

     
     
  • 3.158, анонимчик (?), 09:25, 24/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> там корутины на стероидном ассемблере - есть ограничение на размер данных в
    >> стеке. при попытке разместить 8КБ - падало.
    > Стэк всегда ограничен. Даже без корутин. При попытке разместить 8МБ данных все
    > падало.

    не МБ, а КБ

     

  • 1.36, Аноним (-), 15:27, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Когда планируется поддержка HTTP2?
     
  • 1.38, angra (ok), 16:04, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно почему столько людей пытается его сравнить с nginx, когда сравнивать его надо с другими либами и минифреймворками, реализующими http сервер.
     
     
  • 2.40, A.Stahl (ok), 16:16, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что это стильно-модно и т.п.
    А ткни в таких крикунов пальцем и предложи назвать хоть одно преимущество nginx перед рассматриваемым мини-сервером, так они сразу и в другую сторону смотреть начинают.
     
     
  • 3.51, Аноним (-), 17:11, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    сало уровнил, https://github.com/nemasu/asmttpd
     
  • 2.63, Аноним (-), 17:49, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно почему столько людей пытается его сравнить с nginx, когда сравнивать его
    > надо с другими либами и минифреймворками, реализующими http сервер.

    В nginx можно свой модуль написать. Только это сложно.

     

  • 1.42, Аноним (-), 16:36, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чем оно лучше mongoose. inb: от встроенного шедулера больше проблем, чем пользы, когда дело касается интеграции с внешними либами
     
     
  • 2.64, Аноним (-), 17:51, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чем оно лучше mongoose. inb: от встроенного шедулера больше проблем, чем пользы,
    > когда дело касается интеграции с внешними либами

    Ага, тоже интересно выглядит. Только вот "Dual license: GPLv2 and commercial license" означает что коммитить туда будет только сама фирмочка.

     
     
  • 3.77, Андрей (??), 19:16, 24/04/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, нет же. Фирмочка заставит контрибьютора подписать CLA и будет использовать и его коммиты в том числе в своей закрытой версии. Вот так с помощью CLA можно обойти GPL для фирмы, первоначально опубликовавшей код. Кстати, Столлман ещё не выступал по этому поводу?
     
     
  • 4.95, Аноним (-), 00:00, 25/04/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Поэтому контрибьютеров не будет Каноникала хорошо проучили с апстартом на этом ... большой текст свёрнут, показать
     
  • 2.159, анонимчик (?), 09:26, 24/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Чем оно лучше mongoose. inb: от встроенного шедулера больше проблем, чем пользы,
    > когда дело касается интеграции с внешними либами

    в mongoose - вроде допотопный select?

     

  • 1.76, lucentcode (ok), 18:49, 24/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Шаблоны и Lua - это интересно. То, что его можно использовать в качестве втраиваемой библиотеки - тоже весьма неплохо. В качестве замены nginx-у он пока не годится, но я думаю что в ближайшее время он и не будет с nginx конкурировать. Если прикрутят ещё поддержку скриптов на JS в дополнение к Lua - будет вообще шикарно.
     
  • 1.131, bOOster (ok), 06:19, 26/04/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну че, концепция UNIX систем разваливается? И Линуксоиды тут прикладывают максимальные усилия...
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2023 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру