Процесс
О процессе дизайна хорошо написано тут:
Интервью в Яндекс.Облако
Подготовка к собеседованиям в Tinkoff
Там много ссылок, от которых можно плясать.
1. Context - уровень пользователя
2. Containers - high level roles (stores, apps, etc.)
3. Components - low level components in containers (REST endpoints, controllers, etc)
4. Code - code, UML, ERD diagrams
Базы данных
Типичные БД, которые могут пригодиться при проектировании системы.
Метрики
Табличка значений метрик "Которые все должны знать" и ещё. Метрики нужны, чтобы оценить стоимость и адекватность решения. Ниже значения, которые помогают от MAU/DAU перейти к RPS и посчитать нагрузку.
Пояснение откуда взялись некоторые метрики.
Для PostgreSQL я взял бенчмарк lithium-postgres-batch (postgres, C++, Linux, Full ORM), который на первом месте в cloud по состоянию на 06.05.2022. Вводные: 20 updates, 7917 RPS, Azure D3v2 instances. Смотрим доку по инстансам. И примерно прикидываем (8000 RPS / 20 / 4 ядра) получится 100 TPS на одно ядро для Postgres.
По Cassandra взял несколько примеров кластеров и посчитал среднее на виртуальный CPU thread.

Обсудить: https://t.me/egorword/7
Авторские курсы