Реактивные шаблоны проектирования

Питер
sku: 201489589
ACCORDING TO OUR RECORDS THIS PRODUCT IS NOT AVAILABLE NOW
635.00 грн.
Shipping from: Ukraine
Description
[html]Реактивное программирование - совершенно новая и многообещающая парадигма, позволяющая эффективно решать задачи, связанные с созданием распределенных систем и программированием для JVM. Книга "Реактивные шаблоны проектирования" расскажет, как организовать поток задач, наладить обмен сообщениями между элементами программы, обеспечить параллельную и конкурентную обработку и создавать надежные, отказоустойчивые и гибкие приложения. Перед вами - основополагающая работа по шаблонам проектирования (design patterns) этой парадигмы. Книга проиллюстрирована многочисленными примерами и ориентирована на опытных Java- и Scala-разработчиковОглавление книги "Реактивные шаблоны проектирования"Предисловие................................................................................................................16Введение.....................................................................................................................18Благодарности.............................................................................................................20Роланд Кун...............................................................................................................20Джейми Аллен..........................................................................................................21Брайан Ханафи.........................................................................................................21Об этой книге..............................................................................................................22Для кого эта книга....................................................................................................22Как читать книгу......................................................................................................23Условные обозначения.............................................................................................23Исходный код для примеров.....................................................................................24Об авторах..................................................................................................................25Часть I. Основные сведенияГлава 1. Зачем нужна реактивность.......................................................................... 291.1. Анатомия реактивного приложения...................................................................301.2. Справляемся с нагрузкой...................................................................................321.3. Обработка сбоев................................................................................................331.4. Придание системе отзывчивости........................................................................351.5. Избегаем архитектуры вида «большой ком грязи».............................................361.6. Взаимодействие нереактивных компонентов......................................................371.7. Резюме...............................................................................................................38Глава 2. Подробный разбор манифеста реактивного программирования .................. 392.1. Реакция на действия пользователей..................................................................39Понимание традиционного подхода.............................................................41Анализ времени ожидания при наличии разделяемого ресурса....................42Ограничение максимального времени ожидания с помощью очереди..........432.2. Применение параллелизма................................................................................45Уменьшение времени ожидания с помощью параллелизма..........................46Улучшение параллелизма с помощью составных объектов Future................47Цена иллюзии последовательного выполнения............................................492.3. Ограничения параллельного выполнения..........................................................51Закон Амдала...............................................................................................51Универсальный закон масштабируемости.....................................................522.4. Реакция на сбой.................................................................................................54Разделение и изоляция................................................................................56Использование предохранителей.................................................................57Наблюдение.................................................................................................592.5. Утрата строгой согласованности........................................................................60ACID 2.0.......................................................................................................62Принятие обновлений..................................................................................632.6. Необходимость в реактивных шаблонах проектирования...................................65Управление сложностью..............................................................................66Делаем модели программирования ближе к реальному миру.......................672.7. Резюме...............................................................................................................68Глава 3. Инструменты реактивного программирования ............................................ 693.1. Первые реактивные решения.............................................................................693.2. Функциональное программирование..................................................................71Неизменяемость...........................................................................................72Ссылочная чистота.......................................................................................75Побочные эффекты......................................................................................76Функции первого класса..............................................................................773.3. Отзывчивость на действия пользователя...........................................................773.4. Инструментарий для реактивного программирования........................................79Зеленые потоки...........................................................................................79Циклы обработки событий...........................................................................80Взаимодействие последовательных процессов.............................................82Объекты Future и Promise.............................................................................84Библиотека Reactive Extensions....................................................................89Модель акторов...........................................................................................913.5. Резюме..............................................................................................................96Часть II. Кратко о философииреактивного программированияГлава 4. Обмен сообщениями ................................................................................... 994.1. Сообщения.........................................................................................................994.2. Вертикальное масштабирование......................................................................1004.3. Различия между передачей событий и сообщений...........................................1014.4. Сравнение синхронности и асинхронности.......................................................1044.5. Управление потоком........................................................................................1064.6. Гарантии доставки...........................................................................................1084.7. События и сообщения......................................................................................1114.8. Синхронный обмен сообщениями.....................................................................1134.9. Резюме............................................................................................................113Глава 5. Прозрачность размещения ....................................................................... 1145.1. Что такое прозрачность размещения...............................................................1145.2. Обманчивость прозрачной удаленности...........................................................1155.3. Открытый обмен сообщениями приходит на помощь........................................1165.4. Оптимизация локального обмена сообщениями...............................................1185.5. Потеря сообщений...........................................................................................1185.6. Горизонтальная масштабируемость..................................................................1205.7. Прозрачность размещения упрощает тестирование..........................................1215.8. Динамическое связывание...............................................................................1225.9. Резюме............................................................................................................124Глава 6. Разделяй и властвуй ................................................................................. 1256.1. Иерархическое разбиение проблем..................................................................1256.2. Разница между зависимостями и дочерними модулями....................................1276.3. Построение собственной большой корпорации................................................1306.4. Преимущества спецификации и тестирования..................................................1326.5. Горизонтальное и вертикальное масштабирование..........................................1336.6. Резюме............................................................................................................134Глава 7. Принципиальная обработка сбоев ............................................................ 1357.1. Владение подразумевает взятие на себя обязательств.....................................1357.2. Владение подразумевает управление жизненным циклом................................1387.3. Устойчивость на всех уровнях..........................................................................1397.4. Резюме.............................................................................................................140Глава 8. Разделенная согласованность ................................................................... 1418.1. Инкапсулированные модули в качестве решения.............................................1428.2. Группирование данных и поведения в соответствии с транзакционными ограничениями.......................................................................................................1438.3. Моделирование межтранзакционных рабочих процессов.................................1448.4. Единица измерения сбоев = единица измерения согласованности...................1458.5. Разделение ответственности............................................................................1458.6. Сохранение изолированных областей согласованности....................................1488.7. Резюме.............................................................................................................149Глава 9. Вынужденная неопределенность .............................................................. 1509.1. Логическое программирование и декларативный способ передачи данных......1509.2. Функциональное реактивное программирование..............................................1529.3. Отсутствие общих данных упрощает параллелизм...........................................1539.4. Конкурентность с разделяемым состоянием.....................................................1549.5. Так что же нам делать?...................................................................................1559.6. Резюме............................................................................................................156Глава 10. Поток сообщений ................................................................................... 15710.1. Продвижение данных.....................................................................................15710.2. Моделирование процессов вашей предметной области..................................15910.3. Определение ограничений устойчивости.......................................................16010.4. Оценка потенциальной нагрузки и масштаба развертывания.........................16110.5. Планирование управления потоками..............................................................16110.6. Резюме...........................................................................................................162Часть III. Шаблоны проектированияГлава 11. Тестирование реактивных приложений .................................................. 16511.1. Как тестировать.............................................................................................165Модульные тесты.......................................................................................166Компонентные тесты..................................................................................167Цепные тесты............................................................................................167Интеграционные тесты...............................................................................168Приемочные пользовательские тесты.........................................................168Тестирование с помощью стратегий черного и белого ящиков...................16911.2. Тестовая среда...............................................................................................17011.3. Асинхронное тестирование............................................................................171Предоставление блокирующих получателей сообщений.............................172Тонкости выбора времени ожидания..........................................................174Проверка на отсутствие сообщения...........................................................181Предоставление средств синхронного выполнения....................................182Асинхронные утверждения.........................................................................184Полностью асинхронные тесты..................................................................185Проверка отсутствия асинхронных ошибок................................................18711.4. Тестирование недетерминистских систем.......................................................191Проблема планирования............................................................................191Тестирование распределенных компонентов..............................................192Симуляция акторов....................................................................................193Распределенные компоненты.....................................................................19411.5. Тестирование гибкости..................................................................................19511.6. Тестирование устойчивости...........................................................................195Устойчивость приложения..........................................................................196Устойчивость инфраструктуры...................................................................20011.7. Тестирование отзывчивости...........................................................................20211.8. Резюме...........................................................................................................203Глава 12. Шаблоны отказоустойчивости и восстановления .................................... 20412.1. Шаблон «Простой компонент».......................................................................204Постановка задачи.....................................................................................205Использование шаблона............................................................................205Пересмотр шаблона...................................................................................208Область применения..................................................................................20812.2. Шаблон «Ядро ошибок».................................................................................209Постановка задачи.....................................................................................209Использование шаблона............................................................................210Пересмотр шаблона...................................................................................214Область применения..................................................................................21412.3. Шаблон «Допустимый отказ».........................................................................215Постановка задачи.....................................................................................215Использование шаблона............................................................................216Пересмотр шаблона...................................................................................217Замечания относительно реализации.........................................................218Производная — шаблон «Пульс»................................................................219Производная — шаблон «Упреждающий сигнал об отказе».......................22012.4. Шаблон «Предохранитель»............................................................................221Постановка задачи.....................................................................................222Использование шаблона............................................................................223Пересмотр шаблона...................................................................................226Область применения..................................................................................22712.5. Резюме...........................................................................................................228Глава 13. Шаблоны репликации ............................................................................. 22913.1. Шаблон репликации «Активный к пассивному»..............................................229Постановка задачи.....................................................................................230Использование шаблона............................................................................231Пересмотр шаблона...................................................................................242Область применения..................................................................................24313.2. Шаблоны репликации с несколькими активными копиями..............................244Репликация на основе консенсуса..............................................................244Репликация с обнаружением и разрешением конфликтов..........................247Бесконфликтные реплицируемые типы данных..........................................25013.3. Шаблон репликации «Активный к активному»...............................................257Постановка задачи.....................................................................................258Использование шаблона............................................................................259Пересмотр шаблона...................................................................................265Сравнение с виртуальной синхронностью..................................................26613.4. Резюме...........................................................................................................268Глава 14. Шаблоны управления ресурсами ............................................................ 26914.1. Шаблон инкапсуляции ресурсов.....................................................................269Постановка задачи.....................................................................................270Использование шаблона............................................................................270Пересмотр шаблона...................................................................................277Область применения..................................................................................27814.2. Шаблон заимствования ресурсов...................................................................278Постановка задачи.....................................................................................279Использование шаблона............................................................................279Пересмотр шаблона...................................................................................282Область применения..................................................................................283Замечания относительно реализации.........................................................283Вариант: применение шаблона заимствования ресурсов для открытиячастичного доступа....................................................................................28414.3. Шаблон «Составная команда»........................................................................284Постановка задачи.....................................................................................285Использование шаблона............................................................................286Пересмотр шаблона...................................................................................294Использование шаблона............................................................................29414.4. Шаблон «Пул ресурсов».................................................................................295Постановка задачи.....................................................................................295Использование шаблона............................................................................296Пересмотр шаблона...................................................................................299Замечания относительно реализации.........................................................30014.5. Шаблоны управляемой блокировки................................................................300Постановка задачи.....................................................................................301Использование шаблона............................................................................302Пересмотр шаблона...................................................................................304Область применения..................................................................................30614.6. Резюме...........................................................................................................306Глава 15. Шаблоны потока сообщений ................................................................... 30815.1. Шаблон «Запрос — отклик»...........................................................................308Постановка задачи.....................................................................................309Использование шаблона............................................................................310Распространенные реализации шаблона....................................................312Пересмотр шаблона...................................................................................317Область применения..................................................................................31815.2. Шаблон «Самодостаточное сообщение».........................................................318Постановка задачи.....................................................................................319Использование шаблона............................................................................320Пересмотр шаблона...................................................................................322Область применения..................................................................................32215.3. Шаблон запроса.............................................................................................323Постановка задачи.....................................................................................323Использование шаблона............................................................................324Пересмотр шаблона...................................................................................327Область применения..................................................................................32915.4. Шаблон «Прямоток»......................................................................................329Постановка задачи.....................................................................................329Использование шаблона............................................................................330Пересмотр шаблона...................................................................................331Область применения..................................................................................33115.5. Шаблон «Агрегатор»......................................................................................331Постановка задачи.....................................................................................332Использование шаблона............................................................................332Пересмотр шаблона...................................................................................336Область применения..................................................................................33615.6. Шаблон «Повествование»..............................................................................337Постановка задачи.....................................................................................337Использование шаблона............................................................................338Пересмотр шаблона...................................................................................340Область применения..................................................................................34115.7. Шаблон «Рукопожатие» (он же шаблон надежной доставки)..........................342Постановка задачи.....................................................................................342Использование шаблона............................................................................343Пересмотр шаблона...................................................................................348Область применения..................................................................................34815.8. Резюме...........................................................................................................349Глава 16. Шаблоны управления потоком ............................................................... 35016.1. Модель «Извлечение»....................................................................................350Постановка задачи.....................................................................................351Использование шаблона............................................................................351Пересмотр шаблона...................................................................................353Область применения..................................................................................35416.2. Шаблон управляемой очереди.......................................................................355Постановка задачи.....................................................................................355Использование шаблона............................................................................356Пересмотр шаблона...................................................................................357Область применения..................................................................................35816.3. Шаблон отказа...............................................................................................358Постановка задачи.....................................................................................359Использование шаблона............................................................................359Пересмотр шаблона...................................................................................361Область применения..................................................................................36416.4. Шаблон «Регулирование»..............................................................................364Постановка задачи.....................................................................................364Использование шаблона............................................................................365Пересмотр шаблона...................................................................................36716.5. Резюме...........................................................................................................368Глава 17. Шаблоны для управления состоянием и обеспечения устойчивости ....... 36917.1. Шаблон реализации предметной области.......................................................369Постановка задачи.....................................................................................370Использование шаблона............................................................................370Пересмотр шаблона...................................................................................37417.2. Шаблон сегментирования...............................................................................374Постановка задачи.....................................................................................374Использование шаблона............................................................................375Пересмотр шаблона...................................................................................377Важное замечание.....................................................................................37717.3. Шаблон «Порождение событий»....................................................................378Постановка задачи.....................................................................................378Использование шаблона............................................................................379Пересмотр шаблона...................................................................................380Область применения..................................................................................38117.4. Шаблон «Поток событий»...............................................................................382Постановка задачи.....................................................................................382Использование шаблона............................................................................382Пересмотр шаблона...................................................................................384Область применения..................................................................................38517.5. Резюме...........................................................................................................386ПриложенияПриложение А. Создание схем для реактивных систем...........................................388Приложение Б. Иллюстрированный пример............................................................390Б.1. Географическое разделение............................................................................390Б.2. Планирование потока информации..................................................................392Шаг 1: прием данных.................................................................................393Шаг 2: передача данных в подходящую географическую область..............394Шаг 3: перераспределение данныхдля повышения эффективности запросов..................................................395Подведение итогов....................................................................................398Б.3. А если что-то пойдет не так?...........................................................................398Неполадки на клиентской стороне.............................................................399Неполадки в сетевом интерфейсе клиента.................................................399Отказ узла для приема данных..................................................................400Сбой сетевого соединения между узлом приема данныхи областью карты.......................................................................................400Отказ узла, обрабатывающего область карты............................................401Отказ области с обобщенной информацией...............................................402Сбой соединения между областями карты..................................................402Отказ узла с представлением карты...........................................................402Собираем воедино процесс обработки ошибок...........................................403Б.4. Чему нас научил этот пример?.........................................................................403Б.5. Дальнейшие шаги............................................................................................404Приложение В. Манифест реактивного программирования.....................................405В.1. Основной текст................................................................................................405В.2. Глоссарий........................................................................................................407Асинхронность...........................................................................................407Гибкость в сравнении с масштабируемостью..............................................407Делегирование...........................................................................................408Изоляция и сдерживание...........................................................................408Компонент.................................................................................................409Масштабируемость.....................................................................................409Обмен сообщениями в сравнении с событийной моделью..........................409Обратное давление....................................................................................410Отказ в сравнении с ошибкой....................................................................410Отсутствие блокирования..........................................................................411Пакетирование...........................................................................................411Пользователь.............................................................................................412Прозрачность размещения.........................................................................412Протокол...................................................................................................413Репликация................................................................................................413Ресурс........................................................................................................413Система.....................................................................................................414[/html]
Technical Details
| categoryTitle: | Научная и техническая литература |
Price history chart & currency exchange rate
Customers also viewed

1,088.98 грн.
portable hand-operated coffee Grinder Set&pepper Mill Shakers with square ceramic pot and wood drawer container
aliexpress.com
2,312.46 грн.
Rear Bumper Lip Diffuser Rear Scoop Rear Lip Rear SpoilerFor VW Golf 6 VI MK6 GTI 2010-2014 Accessories Auto Exterior Parts HOT
aliexpress.com
13.41 грн.
Genshin Impact Hutao Klee Vendi Ganyu Symphony Pin 58mm Anime Brooch Pin Cosplay Badge Cosplay Badge
aliexpress.com
127.38 грн.
1~5PCS Household No Occupied Land Image Cute Compression Resistance Travel Stereo Fall Resistance Mouthwash Cup Lasting
aliexpress.com
577.80 грн.
Elastic Band Design Fine Filter Bag Suitable for Aquafirst Pool Cleaners Check Compatibility with your Equipment
aliexpress.com
213.27 грн.
Men Jeans Ankle Length Pencil Pants High Waist Pockets Distressed Casual Denim Washing Slim Zipper Fly Flat Solid 2024
aliexpress.com
20.95 грн.
1 Set 2 Way AC Assembly Car Waterproof Plug Auto Plastic Housing Sealed Connector 872-406-501 Automobile Electric Cable Socket
aliexpress.com
958.67 грн.
Car Interior Decoration Carbon Fiber Sticker For Fiat 500 2012-2015 Styling Accessories
aliexpress.com
646.52 грн.
Sweater Hollow Out Long Sleeve Knitwear Autumn Winter New Fashion Sexy Round Neck Cross Irregular Elegant Pullover
aliexpress.com
119.00 грн.
100 Jumping Frogs Jumping Frogs Frogs Jumping Birthday Party Gifts Jumping Frogs for Kids
aliexpress.com
1,030.74 грн.
Fashion Small Tote Bag for Women Designer Letters Handbags Luxury Matte Pu Leather Shoulder Crossbody Bags Shopper Purses 2022
aliexpress.com
3,253.54 грн.
Outland Outdoor Portable Cassette Stove Camping Outdoor Cooking Utensils Magnetic Stove Field Gas Stove Gas All-in-one Stove
aliexpress.com
346.09 грн.
Гидрогелевая пленка на экран для OnePLus 7T 6T 5T 8T Pro, полное покрытие, мягкая защита экрана для OnePLus 7 6 5 8 9 9R Nord
aliexpress.ru
884.51 грн.
Карбюратор топливный вакуумный манометр балансир синхронизатор комплект для Suzuki черный
aliexpress.ru







