Anton Sidorov homepage

Bookmark this to keep an eye on my project updates!

Follow me on GitHub

Паттерны Проектирования

Анализ вариантов

CheckList

  • закладывайте в архитектуру возможности для автоматического устранения неполадок. В распределенных системах происходят сбои.
    • Приложение необходимо проектировать так, чтобы оно могло автоматически восстанавливать свою работу при возникновении сбоев.
  • Обеспечивайте резервирование всех компонентов. Резервирование позволяет избежать появления в приложении единственной точки отказа.
  • Сводите к минимуму потребности в координации. Сведение к минимуму координации между службами приложения помогает обеспечить масштабируемость
  • Учитывайте возможность расширения. Проектируйте приложение так, чтобы оно могло горизонтально масштабироваться, т.е. при необходимости можно было добавлять новые экземпляры
  • Используйте секционирование для обхода ограничений. Секционирование позволяет обходить ограничения, связанные с базами данных, сетевыми и вычислительными ресурсами.
  • Проектируйте с учетом последующей эксплуатации. Приложение должно проектироваться так, чтобы его было удобно эксплуатировать и у группы эксплуатации были необходимые инструменты
  • Используйте управляемые службы. По возможности используйте подход РAAS (платформа как услуга), а не laas (инфраструктура как услуга)
  • Используйте наиболее подходящие технологии хранения данных. Выбирайте технологии хранения в соответствии с типом данных и особенностями их использования
  • Проектируйте с учетом дальнейшего развития. Все успешные приложения со временем развиваются. Чтобы приложение могло развиваться, необходимо закладывать возможности развития на этапе проектирования
  • Разрабатывайте приложения с учетом потребностей бизнеса. Каждое принятое на этапе проектирования решение должно быть обусловлено конкретным бизнес-требованием