Открыто

Архитектура высоких нагрузок [2021] [robot dreams] [Михаил Михалев]

Тема в разделе "Курсы по программированию", создана пользователем Toxich, 14 ноя 2021.

Основной список: 17 участников

Резервный список: 18 участников

  1. 14 ноя 2021
    #1
    Toxich
    Toxich ЧКЧлен клуба
    Архитектура высоких нагрузок [2021]
    robot dreams
    Михаил Михалев


    Чтобы никогда больше не проектировать системы по принципу copy-paste и не разгребать последствия падения, подключитесь к обучению на курсе. Вы узнаете, как компании справляются с высокой нагрузкой, и научитесь выбирать подходящие архитектурные решения исходя из требований бизнеса.

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

    На курсе вы получите фундаментальные знания в области системного дизайна. Будете разбирать кейсы известных компаний, применять и адаптировать современные Highload-практики. В результате ― научитесь самостоятельно проектировать и разрабатывать системы, которые могут выдержать ≥ 1 млн пользователей ежедневно.

    Курс подойдет:
    1. Developers / Software Architect
    Если вы уже > 2 лет занимаетесь разработкой и проектированием систем, сталкиваетесь с проблемами, которые возникают из-за высокого трафика, и вынуждены предотвращать их постфактум.​
    2. DevOps / Tech Lead / Team Lead
    Если вы не первый год руководите командой разработчиков и сами имеете опыт в промышленной разработке, но устали «тушить пожары» и хотите строить системы, которые смогут выдержать даже 1 млн пользователей ежедневно.​
    3. CEO / CTO
    Если вы периодически терпите репутационные и финансовые потери из-за того, что система не справляется с трафиком, но не знаете всех нюансов проектирования и хотите понять, что происходит с системой во время высокой нагрузки.​

    Модуль 1 - Введение в Highload-архитектуру
    • Узнайте, что такое Highload и Data-Intensive Apps.
    • Разберитесь в задачах, которые стоят перед архитектором высоконагруженных систем.
    • Узнайте, с какими проблемами он сталкивается в своей работе.
    • Ознакомьтесь с основными принципами, которые помогают выстроить систему from 0 to millions users.
    • Научитесь делать грубые расчеты архитектуры приложений.
    • Сделайте первый черновик Highload-дизайна.
    Модуль 2 - Требования к архитектуре
    • Разберитесь в базовых терминах, которые применяют в Highload-архитектуре.
    • Узнайте trade-offs высоконагруженных систем: как выбрать компромисс между надежностью, возможностью масштабироваться и быстро восстанавливаться после падения.
    • Научитесь собирать и составлять требования к приложению.
    Модуль 3 - Формат хранения и передачи данных
    • Изучите глубинную разницу между форматами хранения и передачи данных [JSON/XML/Binary].
    • Ознакомьтесь с преимуществами и недостатками каждого подхода и научитесь выбирать подход исходя из своих задач и требований бизнеса.
    Модуль 4 - Коммуникация системы с внешним миром
    • Узнайте, как работает коммуникация приложения с внешним миром.
    • Разберитесь в отличиях Load balancer.
    • Ознакомьтесь с разными методами имплементации rate limiter.
    • Научитесь выбирать оптимальный вариант коммуникации исходя из требований бизнеса.
    • Напишите алгоритм rate limiter.
    Модуль 5 - Модели передачи данных
    • Ознакомьтесь с моделями передачи данных [Database-through model, Service-through model (REST/RPC), Message-passing model].
    • Узнайте о преимуществах и недостатках каждой модели.
    • Научитесь выбирать модель исходя из конкретных требований.
    Модуль 6 - Хранение данных
    • Ознакомьтесь с моделями хранения данных [Relational model и document-based model].
    • Разберите разницу между declarative query languages и imperative query languages.
    • Изучите жизненный цикл Database Management System [DBMS].
    • Ознакомьтесь с моделями графовых данных.
    • Научитесь выбирать лучший вариант хранения данных исходя из требований бизнеса.
    Модуль 7 - Структуры данных
    • Узнайте, как устроены базы данных и в каком виде в них хранится информация.
    • Найдите необходимую информацию с помощью индексов.
    • Выберите оптимальный вариант DBMS исходя из требований бизнеса по хранению данных.
    Модуль 8 - Аналитика и хранение big data
    • Узнайте, как нужно хранить данные для аналитики.
    • Ознакомьтесь с алгоритмом построения Data Warehouse.
    • Разберитесь в особенностях и отличиях Data Warehouse и Data Lake.
    • Узнайте, какие факторы нужно учитывать при проектировании хранилища под big data и для чего нужны column-oriented storages.
    • Напишите key-value хранилище данных исходя из требований.
    Модуль 9 - Распределенные данные: САР-теорема
    • Узнайте, для чего нужно распределять данные и какие проблемы решает такой подход.
    • Узнайте также, какие проблемы могут возникнуть при таком подходе и научитесь их решать.
    • Ознакомьтесь с САР-теоремой и научитесь выбирать наиболее подходящее решение по распределению исходя из требований.
    Модуль 10 - Распределенные данные: репликация [replication]
    • Изучите основы репликации данных.
    • Ознакомьтесь со стратегиями репликации [Multi-leader replication, Leaderless replication].
    • Изучите преимущества и недостатки каждой стратегии.
    • Ознакомьтесь с примерами и готовыми решениями рынка, которые используют ту или иную стратегию.
    Модуль 11 - Распределенные данные: секционирование [partitioning]
    • Изучите основы секционирования и поймите, как оно связано с репликацией.
    • Ознакомьтесь со стратегиями ребалансировки и готовыми решениями, которые применяют компании на практике.
    • Продолжите работу с key-value data warehouse.
    Модуль 12 - Распределенные данные: транзакции [transaction]
    • Узнайте, что такое ACID и зачем нужны Isolation levels.
    • Разберитесь в особенностях каждого уровня и научитесь выбирать Isolation level исходя из требований бизнеса.
    Модуль 13 - Распределенные данные: целостность [сonsistency]
    • Узнайте, что такое целостность данных в контексте распределенных систем.
    • Ознакомьтесь с типами целостности.
    • На реальных примерах узнайте о преимуществах и недостатках каждого типа.
    • Научитесь выбирать тип целостности данных исходя из требований бизнеса.
    Модуль 14 - Распределенные данные: консенсус [сonsensus]
    • Узнайте, что такое консенсус в распределенных системах.
    • Ознакомьтесь с популярными алгоритмами консенсуса [Paxos и Raft].
    • Поймите, как работают популярные распределенные хранилища данных с точки зрения консенсуса.
    • Реализуйте выбранный тип консенсуса.
    Модуль 15 - Batch and Stream Рrocessing
    • Изучите особенности работы пакетного режима и потокового режима.
    • Ознакомьтесь с моделью MapReduce и узнайте, для каких задач ее применять.
    • Получите информацию о различных Messaging systems, определите их преимущества и недостатки.
    Модуль 16 - Event sourcing and streams
    • Разберитесь в понятиях [state], [stream] и [immutability].
    • Узнайте, что такое [event stream] и [event sourcing] и когда необходимо их применять.
    • Добавьте event stream или event sourcing в ваш дизайн.
    Модуль 17 - Metrics. Monitoring. Alerting
    • Узнайте, зачем нужен мониторинг, и научитесь грамотно настраивать оповещения.
    • Разберитесь в метриках и узнайте, в чем отличие метрик от логов.
    • Опишите метрики для одного из компонентов системы.
    Модуль 18 - Презентация курсового проекта
    • Создайте и защитите архитектуру выбранного [или своего] проекта, учитывая что дизайн обязательно должен предусматривать высокую нагрузку.

    Примечание: на момент создания темы актуальная цена не известна.

    Продажник
     
  2. Последние события

    1. Petr152
      Petr152 не участвует в складчине.
      30 янв 2026
    2. chitatel
      chitatel не участвует в складчине.
      29 янв 2026
    3. skladchik.com
      В складчине участвует 20 человек(а).
      10 янв 2026
    4. skladchik.com
      В складчине участвует 20 человек(а).
      22 дек 2025
  3. Обсуждение
  4. 14 сен 2022
    #2
    Smely
    Smely ЧКЧлен клуба
    курс стартует завтра, а цена так и не известна?