Клиентские приложения под нагрузкой (HighLoad 2014)Andrey Smirnov
"Что там писать клиентское приложение - вот сервер, который выдерживает 10 тысяч запросов в секунду!"... "Да они там только API делают, вот бы хоть одно приложение под iOS написали!"
Подобный обмен претензиями частенько можно услышать в спорах клиентских и серверных разработчиков. В этом докладе я попробую примирить обе стороны. Только от успешного взаимодействия клиентского приложения и серверной части зависит успех высоконагруженного проекта в целом.
* Как сделать так, чтобы клиент не "завалил" сервер?
* Коммуникация ошибок от сервера к клиенту.
* Синхронизация, разрешение конфликтов.
* Работа в offline-режиме.
* Разработка эффективного и корректного API.
* Асинхронное взаимодействие.
* Почему клиент и сервер на самом деле очень похожи?
В этом докладе я в подробностях расскажу о том, как устроено хранение фотографий в нашей компании (всего около ~1 Пб).
Наша система была устроена достаточно просто — сами фотографии хранятся на SAN Storages, которые подключены через Fiber Channel к отдельной группе серверов, "*photos". На photos-серверах смонтированы разделы на соответствующих сетевых блочных устройствах, которые с точки зрения пользователя выглядят, как обычная файловая система.
Мы не используем никакие «хитрые» системы для хранения фотографий и не храним всё в одном файле — каждый размер каждой фотографии представляет из себя обычный файл на файловой системе ext3/4. Фотографии отдаются через nginx напрямую из файловой системы.
Такой способ хранения больших объемов данных весьма дешев, но приводил к проблемам, когда соответствующие SAN «падали», вплоть до повреждения файловой системы с потерей части данных пользователей.
Поэтому, для решения этой проблемы, а также проблем с производительностью, мы решили сделать «софтверную репликацию» фотографий с кешированием данных на SSD.
Также, в качестве эксперимента, мы решили попробовать ещё один способ — хранение на локальных дисках вместо использования SAN. По стоимости решение значительно дороже, но зато надежнее и проще в поддержке. Также, для обеспечения устойчивости к выходу из строя любой машины из такого кластера, мы решили сделать возможной балансировку всех поступающих запросов на весь кластер, то есть, в современных терминах, сделать «распределенное, отказоустойчивое, высокодоступное облачное хранилище».
Клиентские приложения под нагрузкой (HighLoad 2014)Andrey Smirnov
"Что там писать клиентское приложение - вот сервер, который выдерживает 10 тысяч запросов в секунду!"... "Да они там только API делают, вот бы хоть одно приложение под iOS написали!"
Подобный обмен претензиями частенько можно услышать в спорах клиентских и серверных разработчиков. В этом докладе я попробую примирить обе стороны. Только от успешного взаимодействия клиентского приложения и серверной части зависит успех высоконагруженного проекта в целом.
* Как сделать так, чтобы клиент не "завалил" сервер?
* Коммуникация ошибок от сервера к клиенту.
* Синхронизация, разрешение конфликтов.
* Работа в offline-режиме.
* Разработка эффективного и корректного API.
* Асинхронное взаимодействие.
* Почему клиент и сервер на самом деле очень похожи?
В этом докладе я в подробностях расскажу о том, как устроено хранение фотографий в нашей компании (всего около ~1 Пб).
Наша система была устроена достаточно просто — сами фотографии хранятся на SAN Storages, которые подключены через Fiber Channel к отдельной группе серверов, "*photos". На photos-серверах смонтированы разделы на соответствующих сетевых блочных устройствах, которые с точки зрения пользователя выглядят, как обычная файловая система.
Мы не используем никакие «хитрые» системы для хранения фотографий и не храним всё в одном файле — каждый размер каждой фотографии представляет из себя обычный файл на файловой системе ext3/4. Фотографии отдаются через nginx напрямую из файловой системы.
Такой способ хранения больших объемов данных весьма дешев, но приводил к проблемам, когда соответствующие SAN «падали», вплоть до повреждения файловой системы с потерей части данных пользователей.
Поэтому, для решения этой проблемы, а также проблем с производительностью, мы решили сделать «софтверную репликацию» фотографий с кешированием данных на SSD.
Также, в качестве эксперимента, мы решили попробовать ещё один способ — хранение на локальных дисках вместо использования SAN. По стоимости решение значительно дороже, но зато надежнее и проще в поддержке. Также, для обеспечения устойчивости к выходу из строя любой машины из такого кластера, мы решили сделать возможной балансировку всех поступающих запросов на весь кластер, то есть, в современных терминах, сделать «распределенное, отказоустойчивое, высокодоступное облачное хранилище».
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
Клиент, сервер и их взаимодействие, разработка веб и мобильных приложений, Лебедюк Эдуард /
Client & server overview & communication between them, how to develop mobile apps based on existing webapp, Eduard Lebedyuk
15.03.19 WebPromo SEOday SEO-инсайты из логов: от WP блога до международного ...Vladislav Morgun
Международная бесплатная онлайн-конференция, посвященная самому эффективному инструменту привлечения целевых посетителей на сайт — SEO-оптимизации.
SEO-инсайты из логов сервера: от WP блога до международного проекта
- Что такое логи сервера?
- Инструменты для анализа от чайника до pro
- Как анализировать логи
- На что обращать внимание при анализе логов
Многофункциональный сервер приложений, обеспечивающий среду запуска на одном сервере и группе серверов, дающий полный набор инструментов для создания прикладного программного обеспечения.
Similar to Стажировка-2014, занятие 6 (часть 1). Web-приложения (20)
Анна Тарасенко, «долгожитель» ИТ-лофта, генеральный директор 7bits, организатор таких событий, как IT-субботники в Омске, ИТ-конференций HappyDev и HappyDev-lite, стартап-интенсива Magic Kick Startup MKS рассказывает о своем докладе «Стартап = факап?»:
«Чем больше я общаюсь со стартаперами, инвесторами и бизнесменами, читаю книги, статьи и блоги о бизнесе, тем больше я понимаю, что надо просто браться и делать. Не ждать чудес, а идти ножками к клиенту и стараться решить его проблему. Хочу поделиться опытом проведения 2-х Magic Kick startup, одного Startup weekend и участия в 2-х Стартап-сабантуях, демо дне выпуска 10-го акселератора ФРИИ и многим другим.
Перековывалась из программиста в бизнесмены долго и мучительно. Это потребовало в частности излечения от перфекционизма и типичного российского нытья. Могу и люблю делиться опытом про все подряд».
Гудбай, ИТ-лофт! Денис Нелюбин: Новейшая история ИТ-лофта7bits
Попробует вспомнить, откуда возник IT-лофт, почему он так назвался, что тут было хорошего и интересного. Как проводили субботники и хакатоны. Как кодили, слушали лекции, ели пиццу и печеньки, общались и работали.
Новейшая история ИТ-лофта — такой доклад решил подготовить Денис Нелюбин, системный архитертор 7bits, резидент лофта с 2014 года, организатор хакатонов и частый докладчик на ИТ-событиях Омска (и не только).
Гудбай, ИТ-лофт! Лопатюк Саша: Договоримся не плакать7bits
Реветь никто не собирается, а просто Саша Лопатюк, дизайнер Rosberry и соорганизатор Дизайн-среды, расскажет о том, почему договорённости и коммуникация в команде важнее расстояний, технологий и прочих мелочей.
Саше ИТ-лофт очень близок. Он работал здесь в команде А2 Дизайн, а потом участвовал в хакатонах и сам проводил события. Ему есть, что вспомнить и рассказать. Послушаем!
Гудбай, ИТ-лофт! Гончаровский Игорь: IT-Loft без связи 7bits
Человек, рабочее место которого в IT-лофте всегда можно узнать по большому количеству телефонов — Игорь Гончаровский.
Работая в IT-Loft и занимаясь длительное время вопросами связи, Игорь хотел бы поделиться мыслями о развитии технологий и их востребованности сейчас и в недалеком будущем в своем докладе «IT-Loft без связи».
Игорь также является владельцем ООО «Айтек», менеджером проектов Velvetech LLC и организатором конференций по Asterisk в России.
Доклад-ретроспектива — как Сергей с командой провели 15 Людумов, и какое будущее у проекта. Вы узнаете как вспомогательное IT-мероприятие превращается в городскую тусовку и свободный образовательно-практический проект.
Сергей Мячин настраивает бизнес-процессы в Лайв Тайпинг, помогает клиентам решать бизнес-задачи, кроме всего этого уже 5 лет разрабатывает игры и устраивает геймджемы.
Goodbye, IT-loft! Тараканов Алексей: Идеология в IT7bits
Тараканов Алексей — один из организаторов Omsk Linux User Group, Omsk Ubuntu LoCo, омской GPG-сети доверия (web of trust), евангелист Ubuntu, активист свободного программного обепечения, ведущий специалист ООО «ЛинуксМастер», занимается продвижением свободного программного обеспечения, делает нестандартные решения на базе СПО расскажет близкую ему тему: «Идеология в IT». Доклад о том, что такое OmskLUG, и ИТ-лофт как положительно повлиял на него.
2. Стажировка-2014
• У каждого узла есть IP-адрес
• У сайтов – доменные имена
• DNS (Domain Name System) –
иерархическая структура
серверов
Иерархическая адресация,
стек TCP/IP
6. Стажировка-2014
HTTP (HyperText Transfer Protocol)
– протокол передачи гипертекста
• Работает поверх TCP/IP
• Адрес узла – URL
• Не сохраняет промежуточное
состояние
https://ru.wikipedia.org/wiki/HTTP
Протокол HTTP
29. Стажировка-2014
Выбор инструмента
Возможные задержки при загрузке
страниц в вебе:
• задержки соединения
• загрузка статики
• запросы к базам данных
• скорость выполнения на сервере
• скорость обработки страницы в
браузере