Технологии

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

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

Переводы: EN
Ранее книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. В главе 8 раскрываются проблемы распределенных систем, не связанные с базами данных. Команды разработчиков должны учитывать их при разработке распределенного программного обеспечения. Неисправности и частичные отказы.
Высоконагруженные приложения - Глава 7 - Транзакции

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

Переводы: EN
Ранее книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 7 - это все, что ваша команда разработчиков должна знать о транзакциях: Предназначение транзакций Концепция транзакций: ACID, BASE, одно-объектные и много-объектные транзакции.
Высоконагруженные приложения - Глава 6 - Партиционирование

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

Переводы: EN
Ранее книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 6 содержит все, что следует учитывать команде разработчиков при проектировании хранилища для больших данных: Партиция, она же шард, она же регион, он же tablet, она же vNode, она же vBucket.
Высоконагруженные приложения - Глава 5 - Репликация

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

Переводы: EN
Ранее книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 5: Вступление. Как масштабировать приложения. Репликация и партиционирование. Три алгоритма репликации Репликация с одним лидером Лидеры и последователи Синхроная и асинхронная репликация Добавление новых последователей Обработка перебоев в работе узлов Технические реализации и все возможные проблемы Многолидерная репликация Случаи использования, когда это хорошо Обработка конфликтов на запись Три топологии и потенциальные проблемы Репликация без лидера Запись в базу данных, когда узел не работает Кворумы и проблемы с ними Обнаружение одновременных записей и способы разрешения конфликтов Скачать всю майнд-мапу в PDF
Высоконагруженные приложения - Глава 4 - Кодирование и эволюция

Высоконагруженные приложения - Глава 4 - Кодирование и эволюция

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 4: Что такое эволюционируемость. Обратная и прямая совместимость Подходы к кодированию данных: JSON, XML и их двоичные варианты Thrift и Protobuf Apache Avro Модели работы с потоком данных Через базы данных Через сервисы: REST, SOAP, RPC и их будущее развитие Через брокеры сообщений - когда они лучше, а когда нет Намного больше деталей в майнд-мапе:
Высоконагруженные приложения - Глава 3 - Подсистемы хранения и извлечение данных

Высоконагруженные приложения - Глава 3 - Подсистемы хранения и извлечение данных

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 3: Структуры данных: Log-structured. SSTables / LSM-деревья (когда мы ничего не обновляем, а пишем в конец). Очень крутая идея, как хранить данные.
Высоконагруженные приложения - Глава 2 - Модели данных и языки запросов

Высоконагруженные приложения - Глава 2 - Модели данных и языки запросов

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно, я подготовил краткий обзор и майнд-мапу. Глава 2: Что такое модель данных. Различные отношения между данными. Реляционные, документные, графовые модели данных. Какая лучше и когда. Схема-на-запись, схема-на-чтение (без схемы).
Высоконагруженные приложения - Глава 1 - Надежные, масштабируемые и удобные в сопровождении приложения

Высоконагруженные приложения - Глава 1 - Надежные, масштабируемые и удобные в сопровождении приложения

Переводы: EN
Ранее в этом году книжный клуб нашей компании изучил отличную книгу: Martin Kleppmann - Designing Data-Intensive Applications Мартин Клеппман - Высоконагруженные приложения. Программирование, масштабирование, поддержка Это - лучшая книга о создании комплексных масштабируемых программных систем, которые я когда-либо читал. 💪 Как обычно (чтобы лучше усвоить) я подготовил краткий обзор и майнд-мапу. Глава 1: Строительные блоки приложений Что такое надежность, масштабируемость и ремонтопригодность. Примеры и определения. Неисправности и отказы Производительность, нагрузка, задержка и время отклика Работоспособность, простота, эволюционируемость Почему вы должны убивать свои сервера случайным образом 😅 Как Twitter доставляет 12 000 твитов в секунду до 300 000 пользователей в секунду.
Golang вводит дженерики

Golang вводит дженерики

Переводы: EN
Golang НАКОНЕЦ-ТО представляет ДЖЕНЕРИКИ (aka тимплейты, aka параметры типов) в релизе 1.18 (февраль 2022) Я помню начало 2000-х, когда в C # были добавлены дженерики, и то, как их ожидали… В наши дни Go - мой любимый язык для написания высокомасштабируемых решений, а дженерики - ключевая вещь которую я ждал. В некоторых случаях они помогут сильно упростить дизайн приложения. Моя майнд-мапа с ключевыми вещами, которые вам следует знать: Скачать майнд-мапу в PDF
Чистая Архитектура - Часть IV - Принципы дизайна

Чистая Архитектура - Часть IV - Принципы дизайна

Переводы: EN
Книжный клуб у нас в компании выбрал следующую чудесную книгу для чтения: Роберт Мартин - Чистая Архитектура - Искусство Разработки Программного Обеспечения Robert Martin - Clean Architecture - a Craftsman’s Guide to Software Structure and Design Четвертая часть книги посвящена принципам объединения компонентов в программные системы. Эта часть более интересна. Она содержит: Обзор истории компонентов: возможность перемещения в памяти, линкеры Три принципа связности компонентов REP: Принцип эквивалентности повторного использования и выпусков CCP: Принцип согласованного изменения CRP: Принцип совместного повторного использования Три принципа соединения компонентов ADP: Принцип ацикличности зависимостей SDP: Принцип устойчивых зависимостей SAP: Принцип устойчивости абстракций Мне особенно понравилась эта глава из-за представленных метрик, которые можно использовать для измерения (!