Проектирование масштабируемых систем с помощью Erlang/OTP
книга

Проектирование масштабируемых систем с помощью Erlang/OTP

Здесь можно купить книгу "Проектирование масштабируемых систем с помощью Erlang/OTP " в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.

Автор: Франческо Чезарини, Стивен Виноски

Форматы: PDF

Издательство: ДМК Пресс

Год: 2017

Место издания: Москва

ISBN: 978-5-97060-212-6

Страниц: 486

Артикул: 95315

Возрастная маркировка: 16+

Электронная книга
749

Краткая аннотация книги "Проектирование масштабируемых систем с помощью Erlang/OTP"

Данная книга демонстрирует использование языка Erlang и его платформы OTP для создания масштабируемых и устойчивых к сбоям систем. Описаны подходы к проектированию и реализации сложных архитектур, разработанных компанией Erlang Solutions. Рассмотрены вопросы надёжности, масштабируемости и высокой доступности вашего проекта в целом. Издание предназначено разработчикам и архитекторам, уже знакомым с языками Erlang и Elixir, и желающим научиться принципам разработки сложных систем, готовых к коммерческой эксплуатации.

Содержание книги "Проектирование масштабируемых систем с помощью Erlang/OTP "


Введение
Об авторах этой книги
Колофон
Предисловие
Глава 1. Знакомство
Определение проблемы
OTP
Erlang
Инструменты и библиотеки
Принципы проектирования систем
Erlang-узлы
Распределение, инфраструктура и многоядерные процессоры
Подводим итоги
Что вы узнаете из этой книги
Глава 2. Представляем Erlang
Рекурсия и сравнение с образцом
Функциональное влияние
Веселье с анонимными функциями
Генераторы списков: генерация и проверка
Процессы и обмен сообщениями
Падаем безопасно!
Связи и мониторы для наблюдения за процессами
Связи
Мониторы
Записи
Карты
Макросы
Обновление кода модулей
ETS: хранилище термов Erlang
Распределённый режим Erlang
Именование и коммуникация
Соединения между узлами и видимость
Подводим итоги
Что дальше?
Глава 3. Поведения
Cкелеты процессов
Шаблоны проектирования
Модули обратного вызова
Извлечение обобщённых поведений
Запускаем сервер
Клиентские функции
Серверный цикл
Внутренние функции сервера
Обобщённый сервер
Передача сообщений: под капотом
Подводим итоги
Что дальше?
Глава 4. Обобщённые серверы
Обобщённые серверы
Директивы поведения
Запускаем сервер
Передача сообщений
Синхронная передача сообщений
Асинхронная передача сообщений
Прочие сообщения
Необработанные сообщения
Синхронизация клиентов
Завершение работы
Тайм-ауты вызовов
Взаимные блокировки
Тайм-ауты обобщённых серверов
Спящие поведения
Становимся глобальными
Связывание поведений
Подводим итоги
Что дальше?
Глава 5. Управление поведениями ОТР
Модуль sys
Трассировка и журналирование
Системные сообщения
Свои функции трассировки
Статистика, статус и состояние
Ещё раз о модуле sys
Параметры порождения
Управление памятью и сборка мусора
Избегайте таких параметров
Тайм-ауты
Подводим итоги
Что дальше?
Глава 6. Конечные автоматы
Конечные автоматы в стиле Erlang
Конечный кофейный автомат
Библиотека аппаратного взаимодействия
Кофейный автомат на Erlang
Обобщённые конечные автоматы
Пример поведения
Запуск конечного автомата
Отправка событий
Завершение работы
Подводим итоги
Не бойтесь испачкать руки
Контроллеры телефонов
Давайте его проверим
Что дальше?
Глава 7. Обработчики событий
События
Обобщённые диспетчеры и обработчики событий
Запуск и остановка диспетчеров событий
Добавление обработчиков событий
Удаление обработчика событий
Отправка синхронных и асинхронных событий
Извлечение данных
Обработка ошибок и неверных результатов
Подмена обработчиков событий
Подводя итоги
Обработчик тревожных сигналов SASL
Подводим итоги
Что дальше?
Глава 8. Наблюдатели
Деревья наблюдения
Наблюдатели в OTP
Поведение наблюдателя
Запуск наблюдателя
Спецификация наблюдателя
Спецификация перезапуска
Спецификация дочернего процесса
Динамические дочерние процессы
Не совместимые с ОТР процессы
Масштабируемость и короткоживущие процессы
Синхронный запуск для детерминизма
Проверка вашей стратегии наблюдения
Как сравнить подходы?
Подводим итоги
Что дальше?
Глава 9. Приложения
Как выполняются приложения
Структура приложения
Модуль обратного вызова
Запуск и остановка приложений
Файлы ресурсов приложения
Файл приложения контроллера базовой станции
Запуск приложения
Переменные окружения
Типы приложений и стратегии остановки
Распределённые приложения
Фазы запуска
Вложенные приложения
Этапы запуска во вложенных приложениях
Комбинируем наблюдателей и приложения
Приложение SASL
Отчёты SASL о ходе работы
Отчеты SASL об ошибках
Отчеты SASL о сбоях
Отчеты наблюдателей
Подводим итоги
Что дальше?
Глава 10. Особые процессы и ваши собственные поведения
Особые процессы
Мьютекс
Запуск особых процессов
Состояния мьютекса
Обработка завершений работы
Системные сообщения
События трассировки и журналов
Собираем всё вместе
Динамические модули и приостановка
Ваши собственные поведения
Правила создания поведений
Пример обработки потоков TCP
Подводим итоги
Что дальше?
Глава 11. Системные принципы и работа с релизами
Системные принципы
Структура каталогов в релизе
Файлы ресурсов релиза
Создание релиза
Создание загрузочного .boot-файла
Создание пакета с релизом
Скрипты запуска и конфигурация на целевой системе
Аргументы и флаги
Модуль инициализации init
Утилита Rebar3
Создание проекта релиза для Rebar3
Создание релиза с rebar3
Релизы Rebar3 с зависимостями проектов
Подводим итоги
Что дальше?
Глава 12. Обновление кода в релизах
Обновления программного обеспечения
Первая версия кофейного конечного автомата
Добавляем новое состояние
Создаём обновление для релиза
Код, который нужно обновить
Файлы обновления приложения
Инструкции высокого уровня
Файлы обновления релиза
Инструкции низкого уровня
Установка обновления
Обработчик релизов
Обновление значений переменных окружения
Обновление особых процессов
Обновление в распределённых средах
Обновление эмулятора и стандартных приложений
Обновление с помощью Rebar3
Подводим итоги
Что дальше?
Глава 13. Распределённые архитектуры
Типы и семейства узлов кластера
Работа с сетью
Распределённый режим Erlang
Сокеты и SSL
Ориентация на службы и микросервисы
Сеть точка-точка (peer-to-peer)
Интерфейсы
Подводим итоги
Что дальше?
Глава 14. Системы, которые не останавливаются
Доступность
Устойчивость к сбоям
Живучесть
Надёжность
Общие данные
Компромиссы между согласованностью и доступностью
Подводим итоги
Что дальше?
Глава 15. Растём в ширину
Горизонтальное и вертикальное масштабирование
Планирование ёмкости системы
Тестирование ёмкости
Балансирование вашей системы
Поиск узких мест
Чертежи вашей системы
Регулирование нагрузки и обратное давление
Подводим итоги
Что дальше?
Глава 16. Мониторинг и упреждающая поддержка
Мониторинг
Журналы
Метрики
Тревожные сигналы
Упреждающая поддержка
Подводим итоги
Что дальше?
Предметный указатель

Все отзывы о книге Проектирование масштабируемых систем с помощью Erlang/OTP

Чтобы оставить отзыв, зарегистрируйтесь или войдите

Внимание!
При обнаружении неточностей или ошибок в описании книги "Проектирование масштабируемых систем с помощью Erlang/OTP (автор Франческо Чезарини, Стивен Виноски)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!