Высокая доступность
веб-приложений
Определение задачи
• Определение текущего показателя
доступности
• Оценка рисков – сколько $/мин. стоит
даунтайм
• Определ...
Возможные риски
• Поломка сервера (софт/железо/люди
• Обесточивание сервера/датацентра
• Проблемы с интернет-каналами
• Ск...
Два сервера
Репликация MySQL
• Мaster-master replication
• Делим в коде select/update
Синхронизация кода
и настроек окружения
• Унифицирование конфигов веб-
серверов. Csync2.
• Отделение нереплицированного ко...
Синхронизация
статики
• Цена стореджа при планировании
$/Gb/IOPS
• nginx/proxy_store (без видалення)
• Rsync
• Распределѐн...
Синхронизация сессий
• NFS/Distributed FS
• MySQL session storag
• Memcashed
• Repcashed
Node #3
• Quorum for STONITH “Shoot The
Other Node In The Head”
• Nginx ip migration (main node
failure same DC)
• Applica...
High Availability
• Опись сценариев
• Организация внутренней сети
(мигрирующие ip)
• Настройка кластерного ПО –
Pacemaker ...
Load Balancing
• DNS Load Balancing
• Nginx weight-based upstream
• Adaptive load balancing
• Свой сервер балансировки
(re...
Node #4+
• Нода – универсал ( умеет все)
• Сегментация по задачах
(одни ноды для web, другие для БД)
• GEO-распределение (...
Спасибо за внимание!
Oleksandr Iatsiuk
Chief Executive Officer, SHALB
iatsiuk@shalb.com
Upcoming SlideShare
Loading in …5
×

Высокая доступность web приложений. SHALB.com

317 views

Published on

Возможные риски и принципы построения высокодоступных веб-систем.

Published in: News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
317
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Высокая доступность web приложений. SHALB.com

  1. 1. Высокая доступность веб-приложений
  2. 2. Определение задачи • Определение текущего показателя доступности • Оценка рисков – сколько $/мин. стоит даунтайм • Определение желаемого показателя и бюджета
  3. 3. Возможные риски • Поломка сервера (софт/железо/люди • Обесточивание сервера/датацентра • Проблемы с интернет-каналами • Скачѐк нагрузки (реклама/код) • Безопасность (DDoS/intrusion)
  4. 4. Два сервера
  5. 5. Репликация MySQL • Мaster-master replication • Делим в коде select/update
  6. 6. Синхронизация кода и настроек окружения • Унифицирование конфигов веб- серверов. Csync2. • Отделение нереплицированного кода (админки, cms, скрипты загрузок,etc..) для работаты лишь на одной ноде. • Система выкатки кода на продакшн (скрипты для git/svn)
  7. 7. Синхронизация статики • Цена стореджа при планировании $/Gb/IOPS • nginx/proxy_store (без видалення) • Rsync • Распределѐнная файловая система GlusterFS • NFS + Rsync
  8. 8. Синхронизация сессий • NFS/Distributed FS • MySQL session storag • Memcashed • Repcashed
  9. 9. Node #3 • Quorum for STONITH “Shoot The Other Node In The Head” • Nginx ip migration (main node failure same DC) • Application Node (Script Only) • MySQL Slave for backup
  10. 10. High Availability • Опись сценариев • Организация внутренней сети (мигрирующие ip) • Настройка кластерного ПО – Pacemaker + Corosync • BGP backup community • DNS failover (Low TTL, In- house NS)
  11. 11. Load Balancing • DNS Load Balancing • Nginx weight-based upstream • Adaptive load balancing • Свой сервер балансировки (redirect www-0 – www-N)
  12. 12. Node #4+ • Нода – универсал ( умеет все) • Сегментация по задачах (одни ноды для web, другие для БД) • GEO-распределение (кеширующие ноды)
  13. 13. Спасибо за внимание! Oleksandr Iatsiuk Chief Executive Officer, SHALB iatsiuk@shalb.com

×