工具介绍
*Английский ∙ ∙ 中 ∙ 中 | الععرببي ة ∙ ∙ Português do Brasil ∙ Deutsch ∙ ελληνικά ∙ עברית ∙ Italiano ∙ ارسة ∙ Polski ∙ ∙ Español ∙ ti ng Việt ∙ Français | Add Translation*
** Помогите перевести это руководство!**
Системный дизайн Primer
<p align="центр">
<img src="images/jj3A5N8.png">
<br/>
</p>
Мотивация
Научитесь проектировать крупномасштабные системы.
>
Подготовка к собеседованию по дизайну системы.
Научитесь проектировать крупномасштабные системы
Изучение того, как проектировать масштабируемые системы, поможет вам стать лучшим инженером.
Дизайн системы – это широкая тема. Существует огромное количество ресурсов, разбросанных по всему Интернету на принципах проектирования системы.
Репо - это организованная коллекция ресурсов, которые помогут вам научиться строить системы в масштабе.
Учитесь у сообщества open source
Это постоянно обновляемый проект с открытым исходным кодом.
Взносы приветствуются!
Подготовка к собеседованию по проектированию системы
В дополнение к кодированию интервью, системный дизайн является необходимым компонентом процесса технического собеседования во многих технологических компаниях.
**Практикуйте общие вопросы по дизайну системы** и сравните ** ваши результаты с **образцовыми решениями**: обсуждения, код и диаграммы.
Дополнительные темы для подготовки интервью:
* Учебное пособие
Как подойти к вопросу собеседования по дизайну системы
* Вопросы собеседования по дизайну системы ** с решениями **
* Объектно-ориентированный дизайн интервью вопросы, ** с решениями**
* Дополнительные вопросы по дизайну системы
Флэшкарты Анки
<p align="центр">
<img src="images/zdCAkB3.png">
<br/>
</p>
Предоставленные колоды карточек Anki используют разнесенное повторение, чтобы помочь вам сохранить ключевые концепции проектирования системы.
* Палуба системного проектирования
* Системные упражнения на палубе
* Объектно-ориентированный дизайн упражнения палуба
Отлично подходит для использования на ходу.
Оригинальное название: Interactive Coding Challenges
Ищете ресурсы, которые помогут вам подготовиться к собеседованию **
<p align="центр">
<img src="images/b4YtAEN.png">
<br/>
</p>
Ознакомьтесь с сестрой repo **Interactive Coding Challenges**, которая содержит дополнительную колоду Anki:
* Кодирующая палуба
Вклад
Учитесь у сообщества.
Не стесняйтесь отправлять запросы на помощь:
* Исправить ошибки
* Улучшение разделов
* Добавить новые разделы
* Переводить
Контент, который нуждается в некоторой полировке, находится в разработке.
Обзор руководящих принципов.
Индекс тем системного дизайна
> Резюме различных тем проектирования системы, включая плюсы и минусы. ** Все является компромиссом**.
>
Каждый раздел содержит ссылки на более глубокие ресурсы.
<p align="центр">
<img src="images/jrUBAF7.png">
<br/>
</p>
Темы проектирования системы: начните здесь
Шаг 1: Обзор видеолекции по масштабируемости
Шаг 2: Просмотрите статью о масштабируемости
* Следующие шаги
* Производительность против масштабируемости
* Задержка vs пропускная способность
* Доступность vs последовательность
* Теорема CAP
* СР - устойчивость к консистенции и разделению
* AP - доступность и допуск разделов
* Модели согласованности
* Слабая согласованность
*Возможная согласованность
* Сильная консистенция
* Модели доступности
* Провал
* Воспроизведение
* Доступность в цифрах
* Система доменных имен
* Сеть доставки контента
* Нажмите CDN
* Потяните CDN
* Балансировщик нагрузки
* Активно-пассивный
* Активно-активный
* Балансировка нагрузки уровня 4
* Балансировка нагрузки уровня 7
* Горизонтальное масштабирование
Обратный прокси (веб-сервер)
* Балансир нагрузки против обратного прокси
* Прикладной уровень
* Микросервисы
* Обнаружение сервиса
* База данных
* Система управления базами данных (СУБД)
* Репликация мастера-раба
* Мастер-мастер репликации
* Федерация
* Шардинг
* Денормализация
* SQL настройка
NoSQL
* Магазин ключевых ценностей
* Документальный магазин
* Широкая колонка
* База данных графа
SQL или NoSQL
* Кэш
* Клиентское кэширование
* Кэширование CDN
* кэширование веб-сервера
* Кэширование базы данных
* Прикладное кэширование
* Кэширование на уровне запросов базы данных
* Кэширование на уровне объекта
Когда обновлять кэш
* Cache-aside
* Сквозное письмо
* Write-behind (перезапись)
* Свежий вперед
* Асинхронизм
* Очередь сообщений
* Очередь задач
*Обратное давление
* Коммуникация
* Протокол управления передачей (TCP)
Протокол пользовательских дейтаграмм (UDP)
Удаленный вызов процедуры (RPC)
* Репрезентативный государственный трансферт (REST)
Безопасность
* Добавление
* Силы