Partitioning

Создание событийно-управляемых микросервисов - Глава 5 - Основы событийно-управляемой обработки

Создание событийно-управляемых микросервисов - Глава 5 - Основы событийно-управляемой обработки

Переводы: EN

Основы событийно-управляемой обработки в архитектурах, управляемых событиями:

  • Типовая структура микросервиса
  • Типовые типы трансформации событий, 2 сценария ветвления, слияние потоков
  • Перепартиционирование событий и когда это может быть полезно
  • Сопартиционирование событий и когда это необходимо
  • Назначение партиций конкретному микросервису занимающемуся обработкой данных. Три стратегии для этого.
  • Восстановление после сбоев микросервисов обработки данных без поддержки состояния.

Эти темы раскрыты в главе 5 книги, которую мы сейчас изучаем:

“Создание событийно-управляемых микросервисов” Адама Беллемара. Оригинал: “Building Event-Driven Microservices: Leveraging Organizational Data at Scale” by Adam Bellemare

Создание событийно-управляемых микросервисов - Глава 2 - Основы событийно-управляемых микросервисов

Создание событийно-управляемых микросервисов - Глава 2 - Основы событийно-управляемых микросервисов

Переводы: EN

Введение в архитектуру микросервисов, управляемых событиями (EDM), состоит из следующих тем:

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

Эти темы раскрыты в главе 2 книги, которую мы сейчас изучаем:

“Создание событийно-управляемых микросервисов” Адама Беллемара. Оригинал: “Building Event-Driven Microservices: Leveraging Organizational Data at Scale” by Adam Bellemare

Высоконагруженные приложения - Глава 10 - Пакетная обработка

Высоконагруженные приложения - Глава 10 - Пакетная обработка

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

Глава 10 раскрывает все аспекты пакетной обработки больших данных. Если вашей системе необходимо обрабатывать данные, ваша команда разработчиков должна изучить это.

  • Инструменты Unix для пакетной обработки и блестящей концепции пайпов.
  • MapReduce и распределенные файловые системы. Как этот подход решает проблемы пайпов Unix. Отказоустойчивость и партиционирование. Использование и реализация Joins, Grouping, Mapping. Доступные инструменты и проблемы этого подхода.
  • Что выходит за рамки MapReduce. Движки обработки данных, обработка графов, высокоуровневые API и базы данных MPP. Работа с отказоустойчивостью и партиционированием. Реализации, проблемы, что и когда использовать.

Скачать всю майнд-мапу в PDF

Высоконагруженные приложения - Глава 7 - Транзакции

Высоконагруженные приложения - Глава 7 - Транзакции

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

Глава 7 - это все, что ваша команда разработчиков должна знать о транзакциях:

  • Предназначение транзакций
  • Концепция транзакций: ACID, BASE, одно-объектные и много-объектные транзакции.
  • Уровни слабой изоляции: Read Committed, Snapshot Isolation и Repeatable Read. Проблемы и их предотвращение: утерянные обновления, перекосы при записи и фантомы
  • Serializability и три подхода: фактическое последовательное выполнение, двухфазная блокировка (2PL), изоляция сериализуемых снэпшотов (SSI). Возможные проблемы и производительность.

Скачать всю майнд-мапу в PDF

Высоконагруженные приложения - Глава 6 - Партиционирование

Высоконагруженные приложения - Глава 6 - Партиционирование

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

Глава 6 содержит все, что следует учитывать команде разработчиков при проектировании хранилища для больших данных:

  • Партиция, она же шард, она же регион, он же tablet, она же vNode, она же vBucket. Это еще один подход к хранению данных в дополнение к Репликации (рассмотренной в предыдущей главе).
  • Как партиционировать данные со структурой ключ-значение (первичный индекс). Проблемы с партиционированием - skew и hotspot. Подходы: диапазон ключа и хэш ключа.
  • Партиционирование для вторичных индексов: локальный индекс и глобальный индекс
  • Ребалансировка партиций по мере роста. Плохие и хорошие подходы, проблемы и способы их решения. Ручная и автоматическая перебалансировка.
  • Маршрутизация запросов. Разные подходы, проблемы и решения.

Скачать всю майнд-мапу в PDF

Высоконагруженные приложения - Глава 5 - Репликация

Высоконагруженные приложения - Глава 5 - Репликация

Переводы: EN

Ранее книжный клуб нашей компании изучил отличную книгу:

Martin Kleppmann - Designing Data-Intensive Applications

Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка

Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪

Как обычно, я подготовил краткий обзор и майнд-мапу.

Глава 5:

  • Вступление. Как масштабировать приложения. Репликация и партиционирование.
  • Три алгоритма репликации
  • Репликация с одним лидером
    • Лидеры и последователи
    • Синхроная и асинхронная репликация
    • Добавление новых последователей
    • Обработка перебоев в работе узлов
    • Технические реализации и все возможные проблемы
  • Многолидерная репликация
    • Случаи использования, когда это хорошо
    • Обработка конфликтов на запись
    • Три топологии и потенциальные проблемы
  • Репликация без лидера
    • Запись в базу данных, когда узел не работает
    • Кворумы и проблемы с ними
    • Обнаружение одновременных записей и способы разрешения конфликтов

Скачать всю майнд-мапу в PDF