Upload
ontico
View
820
Download
13
Embed Size (px)
Citation preview
Puppet под нагрузкой,
!Антон Турецкий!
!
О чем этот доклад?!• Puppet, общая информация!• Кластеризация, масштабирование!• Асинхронный Storeconfigs!• Сборка Report’ов (оно нам надо)!• Анализ полученных данных!!
Puppet у нас действительно под
большой нагрузкой!Badoo это:!
• Более 160 000 000 пользователей!• 6 админов!• 7 000 000 MAU на админа!• Более 2000 серверов!• 2000/6 ~ 330 серверов на админа!
Как работает Puppet!
PuppetMasterNode
Как работает Puppet!
Puppet
MasterNodeFacts
(http POST)
Как работает Puppet!
PuppetMasterNode Send
Catalog
Как работает Puppet!
Puppet
MasterNode
Report
(http POST)
Как работает Puppet!
PuppetMasterNode
Collect Reports
Report Collector
Что и зачем нам улучшать?!
PuppetMaster
Node Node Node Node NodeNode
From Scratch
Добавим еще клиентов…!
PuppetMaster
Node Node Node Node NodeNode
Node Node Node Node NodeNode Node
… ещё немного…!
PuppetMaster
Node Node Node Node NodeNode
Node Node Node Node NodeNode Node
Node Node Node Node NodeNode Node
Проблема №1!
PuppetMaster
Node Node Node Node NodeNode
Node Node Node Node NodeNode Node
Node Node Node Node NodeNode Node408 Request Timeout
Знакомьтесь: Unicorn!
ü Балансируем на уровне ядра Linux!ü Все процессы запускаются в своем окружении!ü Обновляем, не теряя коннекты “nginx-style”!ü Может слушать на нескольких интерфейсах!
PuppetMaster
Node Node Node Node NodeNode
PuppetMaster
PuppetMaster
PuppetMaster
PuppetMaster
PuppetMaster
Unicorn
In God we Trust!ü Следит за состояниемпроцессов!
ü Обслуживает несколько окружений!
ü Прост в настройке!
Unicorn
CAUnicorn
Testing
Unicorn
Prod
START/ST OP START/ST OP
START/ST OP
GOD
http-балансировка? Слышали!!
upstreamPuppet
CAupstreamPuppetTesting
upstreamPuppetProd
Nginx~ /production/
~ /testing/~ /certificate/
Вспомним теорию?!
PuppetMasterNode
StoreDB
Report Collector
Что такое Storeconfigs?!
PuppetMaster
StoreDB
Store DB = MySQL!
Пишем асинхронно!
Puppet
Master
STOMP Server puppet queue Store
DB
Следим за процессом!
ü http ü tagmail ü log ü rrdgraph ü store
Следим за процессом!
ü http ü tagmail ü log ü rrdgraph ü store
The Foreman – наш выбор!
А что у нас там внутри?!
by type by Events
Timeline!
Puppet 2.6.17 Puppet 3.0.0
code fix
Puppet + HighLoad!
ü Используй несколько процессов!ü Балансируй нагрузку!ü Будь уверен в том, что сможешь масштабировать!
ü Собирай (и читай) отчеты!ü Собирай их асинхронно!
Спасибо!
Ваши вопросы?,!!
[email protected]!Twitter: @tyrchenok!