Facebook открыл код Proxygen, фреймворка для создания HTTP-серверов Печать
Автор: adm   
05.11.14 18:47

Facebook объявил об открытии исходных текстов проекта Proxygen, в рамках которого подготовлена коллекция С++ библиотек, используемых для создания высокопроизводительных серверных и клиентских приложений, работающих по протоколу HTTP. В состав также входит простая реализация HTTP-сервера с поддержкой протоколов HTTP/1.1, SPDY/3, SPDY/3.1, TLS и частично HTTP/2 (в разработке). При обработке соединений применяются неблокирующие операции ввода/вывода и вызов epoll. Код Proxygen распространяется под лицензией BSD.

Proxygen не претендует на роль замены Apache httpd и nginx, а сфокусирован на развитии фреймворка, обладающего разумными настройками по умолчанию и подходящего для простой интеграции функций HTTP-сервера или клиента в уже существующие приложения на языке C++. Изначально Proxygen был создан как высокопроизводительный HTTP/HTTPS-прокси для балансировки соединений, но позднее перерос в универсальный фреймворк c реализацией простого HTTP-стека, позволяющий превращать уже существующие приложения в самостоятельные http-сервисы.

Библиотека предлагает четыре уровня абстракции: сеанс, кодек, транзакцию и обработчик. Основным высокоуровневым элементом библиотеки является объект HTTPSession, определяющий сеанс соединения. За каждым сеансом закрепляется кодек (HTTPCodec), определяющий специфичные для используемого протокола особенности сериализации сообщений. Для каждого запроса и ответа, обработанных внутри сеанса, создаётся объект HTTPTransaction, связанный с отдельным индентификатором. Непосредственно логика обработки запросов определяется через callback-вызовы HTTPTransation::Handler.

Proxygen отлично протестирован и уже помог обработать в Facebook многие триллионы соединений. Фреймворк обеспечивает достаточно неплохую производительность, например, простой тестовый сервер способен обработать до 300 тысяч запросов в секунду при запуске 8 потоков-обработчиков и до 40 тысяч при одном потоке, при тестировании на системе с CPU Intel Xeon E5-2670 @ 2.60GHz c 16 GiB ОЗУ.

  1. Главная ссылка к новости (https://code.facebook.com/posts/15032055...)
  2. OpenNews: Facebook открыл код C++ библиотеки Folly
  3. OpenNews: Facebook выпустила исходные коды части серверного ПО
Тип: Программы
Ключевые слова: http, proxygen, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
id=adv>
  1.1, Crazy Alex, 23:18, 05/11/2014 [ответить] [смотреть все]    [к модератору] +1 +/
Отлично. Вот как-то так и надо.
 
1.2, Аноним, 23:21, 05/11/2014 [ответить] [смотреть все]     [к модератору]
+2 +/
Note that currently this project has only been tested on Ubuntu 14 04 The li... весь текст скрыт [показать]
 
  2.3, Аноним, 23:32, 05/11/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +/
 
  3.6, Аноним, 23:41, 05/11/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
 
3.13, Аноним, 07:02, 06/11/2014 [^] [ответить] [смотреть все]     [к модератору]  –1 +/
Ну как, всяких профессионалов типа тигаров из захолустных дешевых хостеров с и... весь текст скрыт [показать]
 2.5, Stax, 23:41, 05/11/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  –4 +/ 
  3.7, JerryBruckheimer, 23:54, 05/11/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
Эти строки в секции "Installing" опубликованы. (репозиторий на гитхаб: https://github.com/facebook/proxygen)
 
  3.11, Anonim, 02:58, 06/11/2014 [^] [ответить] [смотреть все]    [к модератору]  +/ Не Ubuntu. Далеко не Ubuntu.
 
  4.15, Аноним, 07:04, 06/11/2014 [^] [ответить] [смотреть все]     [к модератору]  –1 +/
Сейчас нам задвинут про QNX, не иначе А у опача вот тут как-то сервак ошибкой н... весь текст скрыт [показать]
 
1.8, Аноним, 00:58, 06/11/2014 [ответить] [смотреть все]     [к модератору]  +/ 
  2.9, YetAnotherOnanym, 01:48, 06/11/2014 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  +1 +/
А какой Ваш вариант?
 
2.14, Аноним, 07:02, 06/11/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  –1 +/ 
  3.17, Аноним, 08:11, 06/11/2014 [^] [ответить] [смотреть все]     [к модератору]  +1 +/
или могли использовать у себя без проблем, свойственным GPL как там уже gcc пож... весь текст скрыт [показать]
 
1.16, Аноним, 07:44, 06/11/2014 [ответить] [смотреть все]     [к модератору]  +/
Одобрение Все надо писать на C http www webtoolkit eu wt ... весь текст скрыт [показать]
  1.19, пургенту, 09:21, 06/11/2014 [ответить] [смотреть все]    [к модератору]  –1 +/ Чем это изделие лучше, чем libuv в связке с http-parser?
  1.21, Аноним, 10:29, 06/11/2014 [ответить] [смотреть все]     [к модератору]  +/
теперь node js ненужен ... весь текст скрыт [показать]
 
Ваш комментарий  

Read more http://www.opennet.ru/opennews/art.shtml?num=41008