03.07.2015 WebCamp:Back-end Developers Day
Петровский Анатолий (Backend developer at Readdle)
"Как построить хайлоад и не сойти с ума"
Петровский Анатолий (Backend developer at Readdle)
Расскажу о том, как на уровне архитектуры обеспечить светлое будущее проекту и уменьшить боль для новых разработчиков.
Best practice в архитектуре систем.
Репликации данных.
Декомпозиции системы.
Балансировка нагрузки.
Автоскейлинге и доставке кода в продакшен.
Методах оптимизации систем
Подробнее:
http://geekslab.co,
http://webcamp.in.ua/
https://www.facebook.com/GeeksLab.co , https://www.facebook.com/OdessaInnovationWeek
https://www.youtube.com/user/GeeksLabVideo
14. Хранение данных
Реликация
Полезный совет:
Если планируете расти и размножатся, то лучше
юзайте PostgreSQL с самого начала. В PostgreSQL всего
один журнал запросов, репликация на физическом уровне
и все работает железобетонно.
18. user_names
id name sex
1 Маша female
3 Антон male
2 Настя female
11 Глеб male
Хранение данных
Простые индексы
user_names_id_idx
id link
1 4x4462A
11 4x2345F
2 4x4424A
3 4x326A0
29. Бизнес логика
i/o
Полезный совет:
Везде где вы делаете запись или чтение с диска/из
сети - делайте это асинхронно. Не блокируйте
обработку такими тупыми операциями.
31. Бизнес логика
Разделяй и властвуй
Полезный совет:
Разделяйте функциональные части системы в
отдельные сервисы. Проще искать слабые системе и
можно их отдельно друг от друга масштабировать
38. Физический уровень
Процессы и их переключение
Одни процесс - это совокупность состояний регистров,
сопроцессоров и адрес следующей операции (контекст).
Для переключения между процессами, достаточно только
выгрузить контекст одного процесса и загрузить контекст
другого.
40. Заключение
Как не сойти с ума?
• Не забывайте умножать мелкие операции на количество
потенциальных клиентов
• Разделяйте и властвуйте
• Реплицируйте
• Денормализируйте
• Любите друг друга
• Больше отдыхайте