Александр Крашенинников "Hadoop High Availability: опыт Badoo"IT Event
Инфраструктура Hadoop – популярное решение для таких задач, как распределённое хранение данных и вычисления Map/Reduce на кластере. Хорошая масштабируемость и развитая экосистема подкупают и обеспечивают Hadoop’у прочное место в инфраструктуре различных информационных систем. Но чем больше ответственности возлагается на этот компонент, тем важнее обеспечивать его отказоустойчивость и high availability.
Роман Акинфеев «Разработка RESTful API with all bells and whistles»DevDay
Каждый уважающий себя интернет-сервис, ориентированный больше чем на одну платформу, сегодня имеет RESTful API. Но мало кто понимает что такое REST, с чем его едят, как готовят и чем он полезен для здоровья. Кто-то считает, что RESTful API - это API использующее в качестве транспорта протокол HTTP, кто-то думает, что REST - это стандарт в рамках которого разработчики ограничены набором ресурсов и восьмью операциями над ними. Я расскажу о том как мы в Яндекс.Диске понимаем REST, как его готовим и какую пользу он нам приносит.
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)Ontico
В дата-центрах нашей компании несколько тысяч серверов, и примерно на половине из них нужно выкладывать PHP-код 2 раза в день. Помимо раскладки на production также не стоит забывать о том, что код нужен на стейджинге, и в стейджинг-кластер у нас входит около 50 машин, код на которых обновляется раз в несколько минут. Также есть «хотфиксы» — небольшие (1-5) наборы файлов, которые выкладываются во внеочередном порядке на все или на выделенную часть серверов, чтобы устранить существующие проблемы на продакшне, не дожидаясь полной выкладки.
В этом докладе я расскажу о том, как мы деплоились в течение 10 лет, о том, какую новую систему для деплоя PHP-кода мы разработали и внедрили в production, а также проведу обзор решений для масштабного деплоя кода на PHP и анализ их производительности.
План доклада:
— Наша старая система деплоя, достоинства и недостатки.
— Существующие решения:
* "svn up" / "git pull".
* rsync.
* phar, hhbc (HHVM-specific), "loop".
* rsync + 2 директории + realpath_root (Rasmus-style).
— Требования для новой системы деплоя.
* быстрый деплой на стейджинг (5-10 секунд на 50 серверов).
* возможность атомарно патчить несколько файлов и быстро их выкладывать (10 секунд на весь кластер).
* совместимость с docker.
* поддержка «долгоиграющих» CLI-скриптов (несколько часов).
* низкое потребление ресурсов на принимающей стороне.
* отсутствие необходимости сбрасывать opcache.
* высокая скорость деплоя на продакшн (1-2 минуты на 1500 серверов).
— MDK — multiversion deployment kit.
— Анализ применимости и производительности способов деплоя.
— Выводы.
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...Ontico
Довольно часто как адинистраторы, так и разработчики жалуются на низкую производительность приложений, работающих с базой данных, и нередко при этом ищут решения возникших проблем с помощью различных настроек как СУБД, так и операционной системы, пренебрегая при этом самым действенным способом - оптимизацией запросов к собственно БД.
Тому, как понимать, где же узкие места, и как их можно попробовать избежать на примере PostgreSQL и посвящен этот доклад.
Seminarul Internaţional „Implementarea tehnologiei IR (repozitorii instituţionale): Sistemul DSpace”, 14-15 aprilie 2011. Chişinău, Ambasada Regală a Norvegiei în România, Asociaţia Bibliotecarilor din Republica Moldova, Consorţiul REM, Programul EIFL-OA, Biblioteca Ştiinţifică a Academiei de Studii Economice din Moldova. Instructor: Kuzma KUDIM, Institutul Sisteme Software al Academiei de Ştiinţe din Kiev, Ucraina.
SDDSAFASFASFASFAS Q DQWD QWD Q Q QW Q QWD AS DSD S AD SAD SD ZSD SA DASA SDA ASDQWQWDASDWQD W Q Q ASDADSDZDZS DZS ZS Z D QWF QWF WF QWFWQDADSZDQWD QW QW QW
Александр Крашенинников "Hadoop High Availability: опыт Badoo"IT Event
Инфраструктура Hadoop – популярное решение для таких задач, как распределённое хранение данных и вычисления Map/Reduce на кластере. Хорошая масштабируемость и развитая экосистема подкупают и обеспечивают Hadoop’у прочное место в инфраструктуре различных информационных систем. Но чем больше ответственности возлагается на этот компонент, тем важнее обеспечивать его отказоустойчивость и high availability.
Роман Акинфеев «Разработка RESTful API with all bells and whistles»DevDay
Каждый уважающий себя интернет-сервис, ориентированный больше чем на одну платформу, сегодня имеет RESTful API. Но мало кто понимает что такое REST, с чем его едят, как готовят и чем он полезен для здоровья. Кто-то считает, что RESTful API - это API использующее в качестве транспорта протокол HTTP, кто-то думает, что REST - это стандарт в рамках которого разработчики ограничены набором ресурсов и восьмью операциями над ними. Я расскажу о том как мы в Яндекс.Диске понимаем REST, как его готовим и какую пользу он нам приносит.
5 способов деплоя PHP-кода в условиях хайлоада / Юрий Насретдинов (Badoo)Ontico
В дата-центрах нашей компании несколько тысяч серверов, и примерно на половине из них нужно выкладывать PHP-код 2 раза в день. Помимо раскладки на production также не стоит забывать о том, что код нужен на стейджинге, и в стейджинг-кластер у нас входит около 50 машин, код на которых обновляется раз в несколько минут. Также есть «хотфиксы» — небольшие (1-5) наборы файлов, которые выкладываются во внеочередном порядке на все или на выделенную часть серверов, чтобы устранить существующие проблемы на продакшне, не дожидаясь полной выкладки.
В этом докладе я расскажу о том, как мы деплоились в течение 10 лет, о том, какую новую систему для деплоя PHP-кода мы разработали и внедрили в production, а также проведу обзор решений для масштабного деплоя кода на PHP и анализ их производительности.
План доклада:
— Наша старая система деплоя, достоинства и недостатки.
— Существующие решения:
* "svn up" / "git pull".
* rsync.
* phar, hhbc (HHVM-specific), "loop".
* rsync + 2 директории + realpath_root (Rasmus-style).
— Требования для новой системы деплоя.
* быстрый деплой на стейджинг (5-10 секунд на 50 серверов).
* возможность атомарно патчить несколько файлов и быстро их выкладывать (10 секунд на весь кластер).
* совместимость с docker.
* поддержка «долгоиграющих» CLI-скриптов (несколько часов).
* низкое потребление ресурсов на принимающей стороне.
* отсутствие необходимости сбрасывать opcache.
* высокая скорость деплоя на продакшн (1-2 минуты на 1500 серверов).
— MDK — multiversion deployment kit.
— Анализ применимости и производительности способов деплоя.
— Выводы.
PostgreSQL: практические примеры оптимизации SQL-запросов / Иван Фролков (Po...Ontico
Довольно часто как адинистраторы, так и разработчики жалуются на низкую производительность приложений, работающих с базой данных, и нередко при этом ищут решения возникших проблем с помощью различных настроек как СУБД, так и операционной системы, пренебрегая при этом самым действенным способом - оптимизацией запросов к собственно БД.
Тому, как понимать, где же узкие места, и как их можно попробовать избежать на примере PostgreSQL и посвящен этот доклад.
Seminarul Internaţional „Implementarea tehnologiei IR (repozitorii instituţionale): Sistemul DSpace”, 14-15 aprilie 2011. Chişinău, Ambasada Regală a Norvegiei în România, Asociaţia Bibliotecarilor din Republica Moldova, Consorţiul REM, Programul EIFL-OA, Biblioteca Ştiinţifică a Academiei de Studii Economice din Moldova. Instructor: Kuzma KUDIM, Institutul Sisteme Software al Academiei de Ştiinţe din Kiev, Ucraina.
SDDSAFASFASFASFAS Q DQWD QWD Q Q QW Q QWD AS DSD S AD SAD SD ZSD SA DASA SDA ASDQWQWDASDWQD W Q Q ASDADSDZDZS DZS ZS Z D QWF QWF WF QWFWQDADSZDQWD QW QW QW
The objective of this project is to make servers of web service, ftp service, VoIP video call service, and manage them centrally from a host in private connection or from remote connection. We will also monitor the services, we are going to install, from this central PC. If there is a problem found like no connectivity, then the monitor agent will notify the network administrator showing the error message.
Network Fundamentals: Ch3 - Application Layer Functionality and ProtocolsAbdelkhalik Mosa
OSI: is a layered, abstract representation created as a guideline for network protocol design. Application Layer, provides human interface to the network.
Differnces between the function of OSI application, presentation and session layers.
The two forms of software programs that provide access to the network which are network-aware applications and application layer services.
The difference between applications, services and protocols.
Client Server Model.
Peer-to-Peer (P2P) Networking and Applications.
Application layer Protocols and Port numbers, ex. DNS - TCP/UDP Port 53, FTP - TCP Ports 20 and 21 and SMTP - TCP Port 25.
Root DNS Servers and TLD Servers.
Different Application layer protocols such as HTTP, HTTPS, FTP, Telnet, SSH, DHCP, DNS, SMTP, POP3, SMB and Gnutella Protocol
Содержание:
- Назначение протокола
- Методы
- Коды
- Редиректы
- Ошибка 404
- Заголовки
Более подробную информацию Вы можете получить на полном курсе SEO: http://www.topexpert.pro/seo-kurs.html
У нас было 500 страниц спецификаций, 40000 строк кода, 2 офиса, полдюжины разработчиков, а также целое множество андроидов всех сортов и расцветок. Не то, чтобы это был необходимый запас для приложения крупной торговой сети. Но если начал собирать софт, становится трудно остановиться. Единственное, что вызвало у меня опасение — это сетевая библиотека. Нет ничего более беспомощного, безответственного и испорченного, чем писать AsyncTask на каждый вызов. Я знал, что рано или поздно мы перейдём на Event Bus.
Август 2014, DevDay, Новосибирск
Олег Годовых «Страх и ненависть в Event Bus»DevDay
У нас было 500 страниц спецификаций, 40000 строк кода, 2 офиса, полдюжины разработчиков, а также целое множество андроидов всех сортов и расцветок. Не то, чтобы это был необходимый запас для приложения крупной торговой сети. Но если начал собирать софт, становится трудно остановиться. Единственное, что вызвало у меня опасение — это сетевая библиотека. Нет ничего более беспомощного, безответственного и испорченного, чем писать AsyncTask на каждый вызов. Я знал, что рано или поздно мы перейдём на Event Bus.
Веб-приложения бывают разные: от сайтов-визиток небольших компаний или персональных блогов, до известных социальных сетей и популярных интернет-магазинов, обслуживающих миллионы пользователей по всему миру. Как устроены сложные веб-приложения «под капотом», за счет чего они выдерживают высокие нагрузки и как строится взаимодействие пользователя с такими нетривиальными веб-приложениеми, мы рассмотрим в докладе.
2. Сетевая модель OSI
Прикладной Доступ к сетевым
службам
HTTP, FTP, SMTP
Представления Представление и
шифрование данных
ASCII, EBCDIC
Сеансовый Управление сеансом
связи
RPC, PAP
Транспортный Прямая связь между
конечными пунктами и
надежность
TCP, UDP
Сетевой Определение маршрута и
логическая адресация
IPv4, IPv6
Канальный Физическая адресация PPP, IEEE 802.2, Ethernet,
DSL, ARP, L2TP
Физический Работа со средой
передачи, сигналами и
двоичными данными
USB, витая пара,
коаксиальный кабель,
оптический кабель
7. Методы доступа
● GET – запросить объект
● POST – обработать и сохранить данные
● PUT – сохранить данные
● PATCH – обновить часть ресурса
● DELETE – удалить ресурс
● HEAD – получить метаданные ресурса
● OPTIONS – получить права на ресурс
8. Коды состояний
● 1xx Informational
● 2xx Success
● 3xx Redirection
● 4xx Client Error
● 5xx Server Error
10. 2xx Success
● 200 OK – всё хорошо
● 201 Created – создан новый объект
● 202 Accepted – запрос принят к выполнению
● 203 Non-Authoritative Information – информация
может быть не верна
● 204 No Content – тело ответа отсутствует
● 206 Partial Content – сервер отдал только часть
информации
11. 3xx Redirection
● 300 Multiple Choices – варианты получения
ресурса
● 301 Moved Permanently – ресурс перемещён
навсегда
● 302 Moved Temporarily – ресурс перемещён
временно
● 304 Not Modified – ресурс не изменился
● 305 Use Proxy – необходимо использовать прокси
12. 4xx Client Error
● 400 Bad Request – плохой, негодный запрос
● 401 Unauthorized – требуется авторизация
● 402 Payment Required – необходима оплата
● 403 Forbidden – доступ запрещён
● 404 Not Found – ресурс не найден
● 405 Method Not Allowed – метод HTTP не поддерживается
● 408 Request Timeout – время получения запроса истекло
● 409 Conflict – конфликт доступа к одному ресурсу
● 410 Gone – объект тут был, но его удалили (скоро вернут)
● 413 Request Entity Too Large – тело запроса слишком большое
● 414 Request-URI Too Large – строка запроса слишком большая
● 416 Requested Range Not Satisfiable – неверно указан диапазон байт
● 418 I'm a teapot – первоапрельская шутка 1998 года
● 422 Unprocessable Entity – сущность неконсистентна
● 429 Too Many Requests – слишком много запросов
● 431 Request Header Fields Too Large – длина заголовков слишком большая
● 451 Unavailable For Legal Reasons – 451 F
13. 5xx Server Error
● 500 Internal Server Error – внутренняя ошибка сервера
● 501 Not Implemented – что-то не поддерживается
● 502 Bad Gateway – некому обработать запрос
неожиданно
● 503 Service Unavailable – некому обрабатывать
запрос планово
● 504 Gateway Timeout – запрос отвалился по таймауту
● 508 Loop Detected – бесконечное перенаправление