Enviar búsqueda
Cargar
Highload 2011-demona
•
Descargar como ODP, PDF
•
0 recomendaciones
•
387 vistas
Sergey Bochenkov
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 14
Descargar ahora
Recomendados
специализированные http-демона (Сергей Боченков, Александр Панков)
специализированные http-демона (Сергей Боченков, Александр Панков)
Ontico
Вредные советы для разработчиков
Вредные советы для разработчиков
ITCrowd Almaty
Особенности работы backend для мобильных приложений или Python Django UWSGI в...
Особенности работы backend для мобильных приложений или Python Django UWSGI в...
Mail.ru Group
Internet explorer 9 для разработчиков
Internet explorer 9 для разработчиков
Roman Kalita
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Mail.ru Group
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
endeveit
Framework Battle: Django vs Flask vs Chalice
Framework Battle: Django vs Flask vs Chalice
STEP Computer Academy (Zaporozhye)
Recomendados
специализированные http-демона (Сергей Боченков, Александр Панков)
специализированные http-демона (Сергей Боченков, Александр Панков)
Ontico
Вредные советы для разработчиков
Вредные советы для разработчиков
ITCrowd Almaty
Особенности работы backend для мобильных приложений или Python Django UWSGI в...
Особенности работы backend для мобильных приложений или Python Django UWSGI в...
Mail.ru Group
Internet explorer 9 для разработчиков
Internet explorer 9 для разработчиков
Roman Kalita
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Использование Python для построения сетевых моделей, Алексей Лобозов, ГК «Про...
Mail.ru Group
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
endeveit
Framework Battle: Django vs Flask vs Chalice
Framework Battle: Django vs Flask vs Chalice
STEP Computer Academy (Zaporozhye)
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Mail.ru Group
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
OWASP Russia
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
OWASP Russia
My talk on administering PostgreSQL
My talk on administering PostgreSQL
Alex Chistyakov
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)
Ontico
Нагрузочное тестирование с помощью Яндекс.Танк - Алексей Лавренюк, PyCon RU 2...
Нагрузочное тестирование с помощью Яндекс.Танк - Алексей Лавренюк, PyCon RU 2...
it-people
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
Ontico
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Ontico
Дмитрий Дегтярев, "Хабикаса"
Дмитрий Дегтярев, "Хабикаса"
Ontico
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Ontico
Micro orm для жизни. Кожевников Дмитрий D2D Just.NET
Micro orm для жизни. Кожевников Дмитрий D2D Just.NET
Dev2Dev
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Dev_Party
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
GeeksLab Odessa
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
Positive Hack Days
Оптимизация JavaScript в Drupal
Оптимизация JavaScript в Drupal
Vlad Savitsky
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon Saransk
Alex Chistyakov
Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)
Nikolay Sivko
Андрей Лузин
Андрей Лузин
CodeFest
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Ontico
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
Pavel Tsukanov
Как быть с большими сайтами на Word press
Как быть с большими сайтами на Word press
vovasik
Sivko
Sivko
kuchinskaya
Más contenido relacionado
La actualidad más candente
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Mail.ru Group
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
OWASP Russia
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
OWASP Russia
My talk on administering PostgreSQL
My talk on administering PostgreSQL
Alex Chistyakov
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)
Ontico
Нагрузочное тестирование с помощью Яндекс.Танк - Алексей Лавренюк, PyCon RU 2...
Нагрузочное тестирование с помощью Яндекс.Танк - Алексей Лавренюк, PyCon RU 2...
it-people
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
Ontico
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Ontico
Дмитрий Дегтярев, "Хабикаса"
Дмитрий Дегтярев, "Хабикаса"
Ontico
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Ontico
Micro orm для жизни. Кожевников Дмитрий D2D Just.NET
Micro orm для жизни. Кожевников Дмитрий D2D Just.NET
Dev2Dev
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Dev_Party
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
GeeksLab Odessa
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
Positive Hack Days
Оптимизация JavaScript в Drupal
Оптимизация JavaScript в Drupal
Vlad Savitsky
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon Saransk
Alex Chistyakov
Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)
Nikolay Sivko
Андрей Лузин
Андрей Лузин
CodeFest
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Ontico
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
Pavel Tsukanov
La actualidad más candente
(20)
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
Что отличает джуниора от сениора или как питонисту не иметь проблем с поиском...
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.3] Мониторинг событий ИБ — мастерим «дашборд» - Тарас Иващенко
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
[1.4] «Ой, не шмогла». Обзор ограничений современных технологий в области ...
My talk on administering PostgreSQL
My talk on administering PostgreSQL
Pconnect: граната в руках обезьяны (Сергей Аверин)
Pconnect: граната в руках обезьяны (Сергей Аверин)
Нагрузочное тестирование с помощью Яндекс.Танк - Алексей Лавренюк, PyCon RU 2...
Нагрузочное тестирование с помощью Яндекс.Танк - Алексей Лавренюк, PyCon RU 2...
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Дмитрий Дегтярев, "Хабикаса"
Дмитрий Дегтярев, "Хабикаса"
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Micro orm для жизни. Кожевников Дмитрий D2D Just.NET
Micro orm для жизни. Кожевников Дмитрий D2D Just.NET
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
JS Lab2017_Redux: время двигаться дальше?_Екатерина Лизогубова
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
TeamPass - управление разграничением доступа к сервисным паролям в команде | ...
Оптимизация JavaScript в Drupal
Оптимизация JavaScript в Drupal
Performance engineering stories from #fdminicon Saransk
Performance engineering stories from #fdminicon Saransk
Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)
Андрей Лузин
Андрей Лузин
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
ORM технологии в .NET (Nhibernate, Linq To SQL, Entity Framework)
Similar a Highload 2011-demona
Как быть с большими сайтами на Word press
Как быть с большими сайтами на Word press
vovasik
Sivko
Sivko
kuchinskaya
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Mikhail Chinkov
Daemons In Web on #devrus
Daemons In Web on #devrus
Alex Chistyakov
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
IT-Portfolio
Jelastic для разработчиков ПО
Jelastic для разработчиков ПО
Dmitry Lazarenko
как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4
rit2011
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис Цыплаков
Alex Tumanoff
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
Ontico
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
Alexander Granin
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Alexey Zinoviev
Kostin drupalconf-2011-presentation
Kostin drupalconf-2011-presentation
drupalconf
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Ontico
Javascript-фреймворки: должен остаться только один
Javascript-фреймворки: должен остаться только один
Sergey Xek
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
HappyDev
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
Омские ИТ-субботники
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработки
Media Gorod
Middleware
Middleware
megakott
Maksym Bezuglyi "Universal highload patterns on a specific example of a game ...
Maksym Bezuglyi "Universal highload patterns on a specific example of a game ...
Fwdays
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Fwdays
Similar a Highload 2011-demona
(20)
Как быть с большими сайтами на Word press
Как быть с большими сайтами на Word press
Sivko
Sivko
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
Daemons In Web on #devrus
Daemons In Web on #devrus
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
Jelastic для разработчиков ПО
Jelastic для разработчиков ПО
как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис Цыплаков
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Kostin drupalconf-2011-presentation
Kostin drupalconf-2011-presentation
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один
Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
Ruby on Rails снижаем стоимость разработки
Ruby on Rails снижаем стоимость разработки
Middleware
Middleware
Maksym Bezuglyi "Universal highload patterns on a specific example of a game ...
Maksym Bezuglyi "Universal highload patterns on a specific example of a game ...
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Highload 2011-demona
1.
2.
Высокая стоимость разработки;
3.
Особенности эксплуатации;
4.
5.
Работает неплохо на стандартных
решениях;
6.
7.
Есть время и
деньги на разработку;
8.
9.
Рекламные системы;
10.
Внутренние модули посещаемых
сайтов;
11.
Чаты, мессенджеры на крупных
сайтах;
12.
13.
Принцип работы с
сетевыми соединениями;
14.
Необходимость работы с
ФС;
15.
Необходимость выполнения фоновых
задач;
16.
Общие RW-данные, вопросы
блокировок;
17.
Вопросы старта и
завершения, непредвиденные падения;
18.
19.
Подключаемые so-модули;
20.
Простота разработки модулей;
21.
Ответы не длиннее
32К;
22.
Моментальный ответ, никаких
ожиданий;
23.
Допускается создание фоновых
потоков, почти не блокирующих основной процесс;
24.
kevent/FreeBSD + epoll/Linux;
25.
Нежелательна работа с
диском при обработке запросов;
26.
27.
Два набора потоков
— быстрые и медленные;
28.
Быстрые запросы —
моментальный ответ, обращение к диску не допускается;
29.
Медленные запросы могут
обращаться к диску или иному хранилищу данных;
30.
31.
Однопоточная архитектура
32.
Несколько источников данных
33.
Сложная логика дозапросов
34.
35.
36.
Ещё сложнее корректировать
логику запросов;
37.
Отсутствие so-модулей;
38.
Отсутствие запросов класса
«отправил и забыл».
39.
40.
Простота разработки модулей;
41.
Модули могут не
дожидаться ответов бекендов;
42.
43.
Однопоточный http-демон;
44.
Работа с сетью
через libev;
45.
Подгружаемые so-модули;
46.
Переключение между контекстами
осуществляется с помощью корутин;
47.
Кратко о корутинах
на примере ugh_subreq_t *r = ugh_subreq_add( c, url, url_size UGH_SUBREQ_WAIT); ugh_subreq_set_body(r, body, body_size); ugh_subreq_set_header(r, ...); ugh_subreq_set_timeout(r, 0.1); ugh_subreq_run(r); ugh_subreq_wait(c); /* switch coroutine */
48.
Демон ugh Исходники
и пример использования: http://github.com/bachan/ugh
49.
50.
2 типа запросов:
с ожиданием и без ожидания ответа;
51.
Возможность сделать несколько
запросов параллельно;
52.
53.
Запросы в БД
(mysql, pgsql и другие) и другие типы источников (fastcgi);
54.
Язык высокого уровня
для написания скриптов (например язык Рамблер.NL :) );
55.
Больше плюшек;
56.
Спасибо за внимание!
Сергей Боченков ( [email_address] ) Панков Александр ( [email_address] ) Компания Advaction
Descargar ahora