Слайд 10Нефункциональные требования
Uptime – 99.98
15 млн page view/day:
Кнопка «пустая»: 85% за 50мс
Кнопка отобразившийся:
85% 70мс
Страница расписания фильма: 85% 150мс
Страница расписания кинотеатра: 85% 150мс
Страница плана зала: 85% 200мс
Слайд 12IIS
Отказоустойчивость:
NLB – ок, но распределение по серверам может быть только на
уровне TCP/IP
ARR – NLB HTTP Layer , может балансировать, по HTTP заголовкам, сам нуждается в балансировке.
Недостатки
App Server и кеш сервер в одном флаконе.
Слайд 16MS SQL Server
Масштабирование и отказоустойчивость:
Failover cluster
Mirroring
Replication
Sharding
Слайд 18Cache
IIS caching
AppFabric Cache
Две основных проблемы в IT: инвалидация кеша и именование переменных.
Локальный
кеш
Группы и теги
Особенности
Отказоустойчивый Кластер – нужен Enterprise
Использовать конфигурацию хранящуюся в SQL
Слайд 19Queue
MSMSQ
Схема работы
Тонкие настройки
Пропускная способность
DB MQ
Персистентная, работает по принципу заказа, есть состояния.
Реляционная
1.2
Kop/s
Слайд 20Background workers
Проблема: нет нормального App server’a
WCF + Task Scheduler?
Windows Service +
Timer?
Разработали свой Task Server.
Слайд 23NAS
Нужно хранилище для
статического контента
конфигураций IIS
Бекапов
Решение
MS Distributed File System
Replication
Слайд 24Logging + Statistics
Нужен механизм для асинхронного способа записи служебной информации.
Нужен механизм для
сбора и анализа статистики.
Результат:
MSMQ + Task server + Sql Server + SQL Reporting Services
Слайд 25Monitoring
WhatsUp Gold
Недорогое решение
Для стандартных задач подходит хорошо
Неудобное в администрировании
Мониторинг Бизнес-показателей сложно
реализеум
Web Services + Remstats
Используется для мониторинга Бизнес-показателей
SCOM
Слайд 26И все-таки почему .net?
Опыт разработки:
Afisha.ru
Eda.ru
Mir.travel
Нам он нравится ☺
Слайд 27Результат
2000 rps на app server (IIS)
Горизонтально масштабируется линейно до 10 000 rps