Идеи архитектурного дизайна

Архитектура

file

предисловие

Когда мы обычно занимаемся архитектурным проектированием, мы проходим три этапа: анализ требований, общее проектирование и детальное проектирование.

  1. этап анализа требований: Он в основном сортирует все варианты использования и сценарии, абстрагирует системно-ориентированных пользователей и роли и определяет, какие функциональные и нефункциональные требования предъявляются к этим пользователям.
  2. Этап эскизного проектирования: В соответствии с продуктом анализа спроса: основные требования, разделить всю систему на модули и определить взаимодействие между модулями.
  3. этап детального проектирования: Описать архитектуру системы с помощью нескольких представлений, включая, помимо прочего: логическую систему, физическое представление, представление данных, физическое представление.

нефункциональные требования

Нефункциональные требования в основном отражаются в измерениях высокой производительности, высокой доступности, масштабируемости, масштабируемости и безопасности.

Нефункциональные требования, соответствующие различным системным метрикам

Нефункциональные требования, соответствующие различным показателям системы, в основном делятся на 4 части:

  • сервер приложений
  • база данных
  • тайник
  • очередь сообщений

1. Сервер приложений

Сервер приложений является точкой входа для запросов, и весь трафик перенаправляется через сервер приложений. В основном касаются таких показателей, как QPS и RT. Показатели, связанные с мощностью и производительностью, следующие:

1. 每天的请求量
2. 各接口的访问峰值
3. 平均响应时间
4. 最大响应时间
5. 请求大小
6. 网卡与磁盘 I/O 负责
7. 内存使用情况
8. CPU 使用情况

2. База данных

Метрики, связанные со структурой развертывания

1. 复制模型
2. 失效转移策略
3. 容灾策略
4. 归档策略
5. 读写分离策略
6. 分库分表策略

Показатели, связанные с мощностью и производительностью, следующие:

1. 当前数据容量
2. 预估数据容量
3. 每秒读峰值
4. 每秒写峰值
5. 每秒事务峰值

3. Кэш

Метрики, связанные со структурой развертывания

1. 复制模型
2. 失效转移
3. 持久策略
4. 淘汰策略
5. 线程模型

Метрики, связанные с емкостью и производительностью

1. 缓存内容大小
2. 缓存内容数量
3. 缓存内容过期时间
4. 缓存数据结构
5. 每秒读峰值
6. 每秒写峰值

4. Очередь сообщений

Метрики, связанные со структурой развертывания

1. 复制模型
2. 失效转移
3. 持久策略

Метрики, связанные с емкостью и производительностью

1. 每天平均数据增量
2. 消息保存时间
3. 每秒读峰值
4. 每秒写峰值
5. 每条消息大小
6. 平均响应时间
7. 最大响应时间

Ссылаться на

  • Принцип распределенной сервисной архитектуры, дизайн и практика