1. GOOZY
В поисках идеальной архитектуры
2011, e-Legion ltd. Юрий Буянов
Goozyware inc. @digal
2. • Пара слов о проекте
• Первая версия и первые проблемы
• Новые требования и новая архитектура
•В самом низу
• Приключения с хостингом
• Синяки и шишки
• Looking Forward
4. СПЕЦИФИКА
• Социальность: пользователь хочет быть постоянно в курсе
•2 req/min от каждого пользователя (даже когда он
ничего не делает).
• Вездесущность: работает на всех сайтах
• Запрос при открытии каждой страницы.
24. ТЕСТЫ И CI
• Scala (main + unit) : 10 500
• Groovy (functional): 5 500
• Прогон при каждом Push
• Тестирование интеграции
с поиском, Twitter, S3, etc.
29. US-EAST-1B US-EAST-1B US-EAST-2B
HAProxy HAProxy
API Portal API Portal
DB Master DB Replica 1 DB Replica 2
... ... ... ... ... ...
30. • Сервера и реплики в нескольких зонах
• Бэкап-реплика в другом регионе
• Автоматическоеуправление конфигурацией для
быстрого развёртывания (Opscode Chef)
• Полное устранение SPOF (Memcached)
• Мониторинг и алерты
31. СИНЯКИ И ШИШКИ
• Bleeding edge не такой уж bleeding
• Scala: разработчиков мало, но они в тельняшках
• Gradle + Scalac - время сборки
• MongoDB - просто RTFM
• EC2 - непостоянные IP-адреса
32. LOOKING FORWARD
• Уход от tomcat и сервлетов
• Автоматизация нагрузочного тестирования
• Comet / Websockets
• Push для мобильных
• Автоматическое управление конфигурацией и
развёртыванием