URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 99849
[ Назад ]
Исходное сообщение
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено opennews , 05-Ноя-14 23:18
Facebook объявил (https://code.facebook.com/posts/1503205539947302/introducing.../) об открытии исходных текстов проекта Proxygen (https://github.com/facebook/proxygen), в рамках которого подготовлена коллекция С++ библиотек, используемых для создания высокопроизводительных серверных и клиентских приложений, работающих по протоколу HTTP. В состав также входит простая реализация HTTP-сервера с поддержкой протоколов HTTP/1.1, SPDY/3, SPDY/3.1, TLS и частично HTTP/2 (в разработке). При обработке соединений применяются неблокирующие операции ввода/вывода и вызов epoll. Код Proxygen распространяется (https://github.com/facebook/proxygen) под лицензией BSD.
Proxygen не претендует на роль замены Apache httpd и nginx, а сфокусирован на развитии фреймворка, обладающего разумными настройками по умолчанию и подходящего для простой интеграции функцуий работы в роли HTTP-сервера или клиента в уже существующие приложения на языке C++. Изначально Proxygen был создан как высокопроизводительный HTTP/HTTPS-прокси для балансировки соединений, но позднее перерос в универсальный фреймворк c реализацией простого HTTP-стека, позволяющий превращать уже существующие приложения в самостоятельные http-сервисы.
Библиотека предлагает четыре уровня абстракции: сеанс, кодек, транзакцию и обработчик. Основным высокоуровневым элементом библиотеки является объект HTTPSession, определяющий сеанс соединения. За каждым сеансом закрепляется кодек (HTTPCodec), определяющий специфичные для используемого протокола особенности сериализации сообщений. Для каждого запроса и ответа, обработанных внутри сеанса, создаётся объект HTTPTransaction, связанный с отдельным индентификатором. Непосредственно логика обработки запросов определяется через callback-вызовы HTTPTransation::Handler.
<center><a href="https://raw.githubusercontent.com/facebook/proxygen/master/C... src="http://www.opennet.me/opennews/pics_base/0_1415216421.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
Proxygen отлично протестирован и уже помог обработать в Facebook многие триллионы соединений. Фреймворк обеспечивает достаточно неплохую производительность, например, простой тестовый сервер (https://github.com/facebook/proxygen/blob/master/proxygen/ht...) способен обработать до 300 тысяч запросов в секунду при запуске 8 потоков-обработчиков и до 40 тысяч при одном потоке, при тестировании на системе с CPU Intel Xeon E5-2670 @ 2.60GHz c 16 GiB ОЗУ.
<center><a href="https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xap1/t39.2365... src="http://www.opennet.me/opennews/pics_base/0_1415217837.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
URL: https://code.facebook.com/posts/1503205539947302/introducing.../
Новость: http://www.opennet.me/opennews/art.shtml?num=41008
Содержание
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Crazy Alex, 23:18 , 05-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 23:21 , 05-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 23:32 , 05-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 23:41 , 05-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 07:02 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,YetAnotherOnanym, 11:03 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Stax, 23:41 , 05-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,JerryBruckheimer, 23:54 , 05-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,YetAnotherOnanym, 01:56 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Anonim, 02:58 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 07:04 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 17:42 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 22:40 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 00:58 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,YetAnotherOnanym, 01:48 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 07:02 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 08:11 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 18:08 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,XoRe, 19:05 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 20:11 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 09:27 , 07-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 07:44 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 08:29 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,упмем, 04:10 , 07-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Zontus, 10:21 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 10:31 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 07:57 , 07-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 19:40 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,пургенту, 09:21 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 10:29 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 23:01 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 23:01 , 06-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 16:14 , 07-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 22:25 , 08-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 09:45 , 10-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 23:21 , 12-Ноя-14
- Facebook открыл код Proxygen, фреймворка для создания HTTP-с...,Аноним, 23:23 , 12-Ноя-14
Сообщения в этом обсуждении
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Crazy Alex , 05-Ноя-14 23:18
Отлично. Вот как-то так и надо.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 05-Ноя-14 23:21
Note that currently this project has only been tested on Ubuntu 14.04
...
The library has been battle-tested with many, many trillions of HTTP(S) and SPDY requests. Делаем вывод, что в серверной инфраструктуре Facebook используется Ubuntu. Вот вам и недоверие к Ubuntu как к серверному дистрибутиву.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 05-Ноя-14 23:32
Чьё недоверие?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 05-Ноя-14 23:41
> Чьё недоверие?Анонимусов.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 07:02
Ну как, всяких "профессионалов" типа тигаров из захолустных дешевых хостеров с их бздами.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено YetAnotherOnanym , 06-Ноя-14 11:03
> захолустных дешевых хостеровДороговизна и размещение серверов и офиса в Дефолт-Сити - основополагающие достоинства приличного хостера, да.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Stax , 05-Ноя-14 23:41
Где вы эти строки про ubuntu вообще нашли? Из головы взято?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено JerryBruckheimer , 05-Ноя-14 23:54
Эти строки в секции "Installing" опубликованы. (репозиторий на гитхаб: https://github.com/facebook/proxygen)
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено YetAnotherOnanym , 06-Ноя-14 01:56
> в серверной инфраструктуре Facebook используется Ubuntu.Всё правильно. Сам Facebook написан на PHP, на серверах - Ubuntu.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Anonim , 06-Ноя-14 02:58
Не Ubuntu. Далеко не Ubuntu.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 07:04
> Не Ubuntu. Далеко не Ubuntu.Сейчас нам задвинут про QNX, не иначе. А у опача вот тут как-то сервак ошибкой на кривой урле икнул. Оно бы может и не заслуживало бы внимания. Если б не баннер с указанием убунты. Послали опачисты бзды в пень...
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 17:42
Клей нюхать - не модно и не моложёжно! Переходи уже на синтетику.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 22:40
Чёрным по белому "tested" написано, троль. Про сервера фейса и слова нет.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 00:58
> и вызов epoll. Код Proxygen распространяется под лицензией BSD.А смысл в BSDL?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено YetAnotherOnanym , 06-Ноя-14 01:48
А какой Ваш вариант?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 07:02
> А смысл в BSDL?Ну как, чтобы вы могли бесплатно попахать на фэйсбук :).
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 08:11
или могли использовать у себя без проблем, свойственным GPL. как там уже gcc поживает - не забывают добавить исключения в каждую версию? а то забудут и окажется что программа уже как бы и не ваша..
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 18:08
Враньё
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено XoRe , 06-Ноя-14 19:05
Авторитетно
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 20:11
Спасибо, я старался.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 07-Ноя-14 09:27
> использовать у себя без проблем, свойственным GPLНу-ка, ну-ка, подробнее? Какие-такие проблемы свойственны gpl?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 07:44
Одобрение. Все надо писать на C. http://www.webtoolkit.eu/wt
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 08:29
Для начала научись правильно писать название языка
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено упмем , 07-Ноя-14 04:10
> Для начала научись правильно писать название языкаЭто вы про Ц што ле?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Zontus , 06-Ноя-14 10:21
Дай мне это развидеть:source
#include <Wt/WLineEdit>
#include <Wt/WPushButton>
#include <Wt/WTemplate>
Wt::WTemplate *t = new Wt::WTemplate(Wt::WString::tr("WTemplate-example"));
t->bindWidget("name-edit", new Wt::WLineEdit());
t->bindWidget("save-button", new Wt::WPushButton("Save"));
t->bindWidget("cancel-button", new Wt::WPushButton("Cancel"));
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 10:31
c++11 ад
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 07-Ноя-14 07:57
Казалось бы, при чём здесь C++11?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 19:40
Ты вообще этим пользовался?
Тулкит нормальный, но с дубовым набором виджетов. Его основной юзкейс и по совместимости предел - Web UI для крестовых приложений.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено пургенту , 06-Ноя-14 09:21
Чем это изделие лучше, чем libuv в связке с http-parser?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 10:29
теперь node js ненужен?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 23:01
You will need at least 2 GiB of memory to compile proxygen and its dependencies
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 06-Ноя-14 23:01
"при тестировании на системе с CPU Intel Xeon E5-2670 @ 2.60GHz c 16 GiB ОЗУ"
А на десктопе сколько? А то ксеоны дорогие очень.
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 07-Ноя-14 16:14
>А на десктопе сколько?Для обработки 300к соединений? 8ядерный amd fx-8350 потянет. Главное сетвушки подобрать норм
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 08-Ноя-14 22:25
где поддержка websockets, [сenzored]ь !! почему только ..ие костыли вроде SPDY и прочего уг мамонта ? когда уже слоупоков из девелоперов компаний fortune 500 - выпилят ?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 10-Ноя-14 09:45
казалось бы, при чем здесь erlang и его 2.8 млн коннектов на сервере? правда, памяти хочет 196 гигов :)
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 12-Ноя-14 23:21
что -то жирный сервер у них, 16G RAM вы не находите ?
"Facebook открыл код Proxygen, фреймворка для создания HTTP-с..."
Отправлено Аноним , 12-Ноя-14 23:23
с sandbox -ом что случилось ?