Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Архитектура высоконагруженных интернет-проектов

No description
by

Ivan Blinkov

on 31 March 2011

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Архитектура высоконагруженных интернет-проектов

Архитектура высоконагруженных
интернет-проектов Вопросы? Иван
Блинков http://www.insight-it.ru highload@insight-it.ru Спасибо за внимание! http://bit.ly/highload Примеры крупных
проектов Масштабирование Сайт Кэш СУБД Сайт Статика СУБД Почта Кэш Почта Кэш Статика Интернет Почта СУБД Сайт Интернет СУБД Запись Чтение Балансировщик
нагрузки Статика Почта Сайт Сайт Сайт СУБД СУБД СУБД Кэш Кэш Кэш Интернет Интернет вертикальная
vs
горизонтальная Статика Кэширование http://www.insight-it.ru/highload Клиентская
оптимизация Вертикальное Горизонтальное Платформа: Статистика: Linux
PHP c HipHop
memcached
MySQL
Thrift
Scribe
Hadoop, Hive, HBase

500 млн. активных пользователей
200 млрд. просмотров страниц в месяц
4 триллиона действий попадает в новостные ленты каждый день
20 миллиардов фотографий в 4 разрешений
Десятки тысяч серверов, десятки гигабит трафика

1358% рост аудитории за 2009г.
175 млн. зарегистрированных пользователей
460 тыс. регистраций в день
50 -> 140 -> 177 млн. твитов в день
Рекорд: 6939 твитов в секунду
25% трафика на сайт, остальное - API
6 миллиардов запросов к API в день Apache + mod_proxy
Unicorn
Ruby + Ruby on Rails
Scala
FlockDB + MySQL
memcached
Kestrel
Cassandra
Scribe
Hadoop, HBase и Pig Платформа: Статистика: Платформа: Debian Linux
nginx
Apache + mod_php
PHP + XCache
memcached
MySQL
Собственная СУБД на С
node.js
ffmpeg
xfs 40 миллионов активных пользователей
11 млрд. запросов в день
200 млн. личных сообщений в день
Видеопоток достигает 160Гбит/с
Более 10 тыс. серверов
Каждый день из строя выходит 10 жестких дисков

Статистика: контакте Статистика: Windows и openSUSE
Java, немного C/C++
GWT
Apache Tomcat
JBoss
LVS
Microsoft SQL Server
BerkleyDB
Apache Lucene До 2.8 млн. пользователей онлайн в часы пик
7.5 млрд. запросов в день (до 150 тыс. в секунду)
2400 серверов и СХД
Сетевой трафик до 32Гбит/с





Платформа: Статистика: Linux
Apache + mod_wsgi
Python + Django
memcached
PostgreSQL
HAProxy
Slony
heartbeat До 17 тыс. запрсоов в секунду
250 млн. уник. посетителей в день
500 тыс. сайтов
15млн. зарегистрированных пользователей
75 млн. комментариев




Платформа: Вертикальное VS Горизонтальное Данные Репликация Резервное копирование Разбиение данных SQL vs NoSQL Master/Slave Slave Master Slave Slave Запись Чтение Чтение Репликация Репликация Master/Master Master Master Master Чтение и запись Чтение и запись Репликация синхронная vs асинхронная целостность производительность Master/Slave хорошо работает только для чтения MS SQL Oracle IBM DB2 SQL MS Access MySQL PostgreSQL SQLite Firebird NoSQL HBase Redis MongoDB CouchDB Tokyo Cabinet BerkleyDB Cassandra Sybase Mnesia Terrastore Membase MemcacheDB Riak Hypertable Все равно
никто не использует JOIN то есть пресловутую реляционность Полное Инкрементальное & Главное: куда-нибудь подальше Плюс не забывать о безопасности На отдельные сервера SAN NAS "В облака" С маршрутизатором По-простому hash%N По кругу Voldemort Dynomite Оно же:
партиционирование
partitioning
шардинг
sharding и регулярно!!! Кассеты Балансировка
нагрузки OSI L1 Физический уровень
L2 Канальный уровень
L3 Сетевой уровень
L4 Транспортный уровень
L5 Сеансовый уровень
L6 Уровень представления
L7 Уровень приложения
Программная Аппаратная F5 Cisco Juniper nginx LVS CARP DNS HAProxy Мониторинг Волшебный алгоритм Обнаружить самое слабое место в системе
Принять меры по его устранению
Перейти к следующему самому слабому месту Если бы надо было сократить презентацию до 1 слайда, то это был бы этот Из чего состоит мониторинг? 1. Сбор данных
2. Получение метрик
3. Построение графиков
3. Уведомление о ЧП
4. Реакция и, отчасти, профайлинг Инвалидация! то есть обновление или обнуление кэша при изменение данных в СУБД Готовый HTML
Переменные внутри кода
Объекты
Запросы к СУБД
Файловая система squid, varnish memcached 1. CSS в <head />
2. JavaScript перед </body>
3. Селекторы работают справа на лево
4. Минификация (JSmin, CSStidy, YUI)
5. Бесконечный Expires + GET параметры
6. Отдельный домен для статики без cookies
7. Оптимизация размера изображений
8. Удаление пробелов и комментариев из HTML
9. CSS Sprites
10. data:URI + MHTML И многие, многие другие... Основные приемы YSlow! от Yahoo
Page Speed от Google Инструменты Размещение Варианты Виртуальный хостинг:
VPS/VDS
"Облака" Общий хостинг Аренда сервера Размещение сервера Комплексное решение + CDN Комплексное решение кластеризация
балансировка нагрузки
отказоустойчивость
отсутствие ограничений по технологиям
тюнинг производительности
мониторинг и реанимация
резервное копирование
консультации по техническим вопросам
Full transcript