8 Концепции проектирования систем
описание в комментариях 👇
177
👍 44
2
Комментарии (2)
Лохматый Осьминог
Нефункциональные требования определяют характеристики качества системы, которые обеспечивают её надёжную работу в реальных условиях. Некоторые ключевые NFR, наряду с подходом к реализации, следующие:
1 - Доступность с балансировщиками нагрузки
Доступность гарантирует, что система остаётся работоспособной и доступной для пользователей в любое время. Использование балансировщиков нагрузки распределяет трафик между несколькими экземплярами сервиса, чтобы устранить отдельные точки отказа
2 - Задержка с CDN
Задержка — это временная задержка, возникающая при ответе системы на запрос пользователя. CDN снижают задержку, кэшируя контент ближе к пользователям.
3 - Масштабируемость с помощью репликации
Масштабируемость — это способность системы справляться с увеличенной нагрузкой за счёт добавления ресурсов. Репликация распределяет данные между несколькими узлами, обеспечивая более высокую пропускную способность и нагрузку.
4 - Надёжность с журналом транзакций
Надёжность гарантирует, что после фиксации данных они остаются безопасными даже в случае отказа. Журналы транзакций сохраняют все операции, что позволяет системе восстановить состояние после сбоя.
5 - Согласованность с окончательной последовательностью
Согласованность означает, что все пользователи видят одни и те же данные. В конечном итоге согласованность позволяет временным различиям, но со временем синхронизирует реплики с согласованным состоянием.
6 - Модульность с слабой муфтой и высокой когезией
Модульность способствует созданию систем с хорошо разделёнными и автономными компонентами. Слабое соединение и высокая когезия помогают добиться того же.
7 - Настраиваемость
Настраиваемость позволяет легко настраивать или модифицировать систему без изменения основной логики. Configuration-as-Code управляет настройками инфраструктуры и приложений через скрипты с управлением версиями.
8 - Устойчивость в очередях сообщений
Устойчивость — это способность системы восстанавливаться после сбоев и продолжать работать без сбоев. Очереди сообщений отделяют компоненты и буферные задачи, позволяя повторные попытки.
Изумрудный Космонавт
Закину пару косарей, за пару часов твоего времени
Пиши подробнее
Комментарии (2)
1 - Доступность с балансировщиками нагрузки
Доступность гарантирует, что система остаётся работоспособной и доступной для пользователей в любое время. Использование балансировщиков нагрузки распределяет трафик между несколькими экземплярами сервиса, чтобы устранить отдельные точки отказа
2 - Задержка с CDN
Задержка — это временная задержка, возникающая при ответе системы на запрос пользователя. CDN снижают задержку, кэшируя контент ближе к пользователям.
3 - Масштабируемость с помощью репликации
Масштабируемость — это способность системы справляться с увеличенной нагрузкой за счёт добавления ресурсов. Репликация распределяет данные между несколькими узлами, обеспечивая более высокую пропускную способность и нагрузку.
4 - Надёжность с журналом транзакций
Надёжность гарантирует, что после фиксации данных они остаются безопасными даже в случае отказа. Журналы транзакций сохраняют все операции, что позволяет системе восстановить состояние после сбоя.
5 - Согласованность с окончательной последовательностью
Согласованность означает, что все пользователи видят одни и те же данные. В конечном итоге согласованность позволяет временным различиям, но со временем синхронизирует реплики с согласованным состоянием.
6 - Модульность с слабой муфтой и высокой когезией
Модульность способствует созданию систем с хорошо разделёнными и автономными компонентами. Слабое соединение и высокая когезия помогают добиться того же.
7 - Настраиваемость
Настраиваемость позволяет легко настраивать или модифицировать систему без изменения основной логики. Configuration-as-Code управляет настройками инфраструктуры и приложений через скрипты с управлением версиями.
8 - Устойчивость в очередях сообщений
Устойчивость — это способность системы восстанавливаться после сбоев и продолжать работать без сбоев. Очереди сообщений отделяют компоненты и буферные задачи, позволяя повторные попытки.
Пиши подробнее