Открыто

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

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

Цена: ----
Взнос: ----

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

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

  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. akafloa
      akafloa участвует.
      13 фев 2024
    2. boriz
      boriz не участвует.
      22 янв 2024
    3. gohas
      gohas не участвует.
      15 янв 2024
    4. marsianin
      marsianin участвует.
      11 окт 2023
  3. Обсуждение
  4. 14 сен 2022
    #2
    Smely
    Smely ЧКЧлен клуба
    курс стартует завтра, а цена так и не известна?
     

Поделиться этой страницей