«Рамблер Касса» как пример высокопроизводительного...

Post on 08-Jul-2015

984 views 5 download

Transcript of «Рамблер Касса» как пример высокопроизводительного...

«Рамблер Касса» как пример высокопроизводительного

проекта на .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 млн месячных пользователей)