Upload
ontico
View
989
Download
5
Embed Size (px)
Citation preview
«Рамблер Касса» как пример высокопроизводительного
проекта на .NetДмитрий Паньшин
И другие…
.net
Highscalability.com
Highscalability.com
.net?
Нефункциональные требования• Uptime – 99.9
• 15 млн page view/day:
– Кнопка «пустая»: 85% за 50мс
– Кнопка отобразившийся: 85% 70мс
– Страница расписания фильма: 85% 150мс
– Страница расписания кинотеатра: 85% 150мс
– Страница плана зала: 85% 200мс
Логическая архитектура
IIS• Отказоустойчивость:
– NLB – ок, но распределение по серверам может быть только на уровне TCP/IP
– ARR – NLB HTTP Layer , может балансировать, по HTTP заголовкам
• Недостатки– App Server и кеш сервер в одном флаконе.
MS SQL Server• Масштабирование и отказоустойчивость:
– Failover cluster
– Mirroring
– Replication
– Sharding
MS SQL Cluster
MS SQL Mirroring
Результат
Cache• Memcache vs HttpContext.Current.Cache
• Nginx vs ASP.NET Output Cache
AppFabric Caching – Регионы, теги
– Локальный кеш
– Особенности
• Для работы нужен Windows Server Standard
• Отказоустойчивый Кластер – нужен Enterprise
• Использовать конфигурацию хранящуюся в SQL
• Нет версионирования «из коробки»
Queue• MSMQ
– Асинхронная
– Без подтверждения доставки
• DB MQ– Персистентная, работает по принципу заказа, есть состояния.
– Реляционная
– 800 ops
MSMQ
Background workers• Проблема: нет нормального App server’a
– WCF + Task Scheduler?
– Windows Service + Timer?
• Разработали свой Task Server.
THE END?
NAS• Нужно хранилище для
– статического контента
– конфигураций IIS
– Бекапов
• Решение
– MS Distributed File System• Replication
Logging + Statistics• Задача разработать:
– асинхронный способ записи служебной информации.
– Механизм для сбора и анализа статистики.
Результат
Monitoring• WhatsUp Gold
– Недорогое решение
– Для стандартных задач подходит хорошо
– Неудобное в администрировании
– Мониторинг Бизнес-показателей сложно реализуем
• Web Services + Remstats
– Используется для мониторинга Бизнес-показателей
• SCOM
Результат
И все-таки почему .net?
www.afisha.ru
Eda.ru
mir.travel
Результат
Результат• ~2000 rps на app server (IIS)
• Масштабируется линейно до 10 000 rps
• Uptime 99.9%
Результат• 400 кинозалов в 17 городах России
• Суммарная аудитория Internet площадок > 25 млн человек
• В конце 2011 подключили Qiwi (120 тыстерминалов, 80 млн месячных пользователей)