دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [1 ed.]
نویسندگان: Adam Bellemare
سری:
ISBN (شابک) : 9781492057895
ناشر: O'Reilly
سال نشر: 2020
تعداد صفحات: 324
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 10 Mb
در صورت تبدیل فایل کتاب Building Event-Driven Microservices - Leveraging Organizational Data at Scale (Java) به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب ساخت میکروسرویسهای رویداد محور - استفاده از دادههای سازمانی در مقیاس (جاوا) نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
امروزه سازمانها اغلب برای متعادل کردن نیازهای تجاری با حجم روزافزون دادهها تلاش میکنند. علاوه بر این، تقاضا برای استفاده از دادههای در مقیاس بزرگ و بلادرنگ در بین رقابتیترین صنایع دیجیتال به سرعت در حال رشد است. معماری سیستم های متعارف ممکن است در حد کار نباشد. با این راهنمای عملی، میآموزید که چگونه با استفاده از اصول ریزسرویسهای رویداد محور، از مصرف داده در مقیاس بزرگ در واحدهای تجاری سازمان خود استفاده کنید. نویسنده Adam Bellemare شما را در فرآیند ایجاد یک سازمان مبتنی بر میکروسرویس رویداد محور راهنمایی می کند. نحوه تولید، دسترسی و انتشار داده ها در سراسر سازمان خود را مجدداً بررسی خواهید کرد. الگوهای قدرتمند و در عین حال ساده را برای باز کردن ارزش این داده ها بیاموزید. طراحی رویداد محور و اصول معماری را در سیستم های خود بگنجانید. و به طور کامل تجدید نظر کنید که چگونه سازمان شما با باز کردن قفل دسترسی تقریباً واقعی به داده ها در مقیاس، ارزش ارائه می دهد. شما یاد خواهید گرفت: چگونه می توان از معماری های رویداد محور برای ارائه ارزش تجاری استثنایی استفاده کرد. نقش میکروسرویس ها در حمایت از طرح های رویداد محور الگوهای معماری برای اطمینان از موفقیت هم در درون و هم بین تیم ها در سازمان شما الگوهای کاربردی برای توسعه میکروسرویس های رویداد محور قدرتمند اجزا و ابزار مورد نیاز برای از بین بردن اکوسیستم میکروسرویس شما
Organizations today often struggle to balance business requirements with ever-increasing volumes of data. Additionally, the demand for leveraging large-scale, real-time data is growing rapidly among the most competitive digital industries. Conventional system architectures may not be up to the task. With this practical guide, you\'ll learn how to leverage large-scale data usage across the business units in your organization using the principles of event-driven microservices. Author Adam Bellemare takes you through the process of building an event-driven microservice-powered organization. You\'ll reconsider how data is produced, accessed, and propagated across your organization. Learn powerful yet simple patterns for unlocking the value of this data. Incorporate event-driven design and architectural principles into your own systems. And completely rethink how your organization delivers value by unlocking near-real-time access to data at scale. You\'ll learn: How to leverage event-driven architectures to deliver exceptional business value The role of microservices in supporting event-driven designs Architectural patterns to ensure success both within and between teams in your organization Application patterns for developing powerful event-driven microservices Components and tooling required to get your microservice ecosystem off the ground
Оглавление Предисловие Условные обозначения, принятые в книге Благодарности Предисловие научного редактора к русскому изданию Глава 1. Почему именно событийно-управляемые микросервисы? Что такое событийно-управляемые микросервисы? Введение в предметно-ориентированное проектирование и ограниченные контексты Использование моделей предметной области и ограниченных контекстов Привязка ограниченных контекстов к бизнес-требованиям Структуры обмена информацией Структуры обмена бизнес-информацией Структуры обмена технической информацией Структуры обмена данными Закон Конвея и структуры обмена информацией Структуры обмена информацией в традиционных вычислениях Вариант 1: создать новый сервис Вариант 2: добавить новое бизнес-требование в существующий сервис Плюсы и минусы каждого варианта Командный сценарий: продолжение Конфликтующие обстоятельства Событийно-управляемые коммуникационые структуры События являются основой обмена информацией Потоки событий обеспечивают единственный источник истины Потребители занимаются своим моделированием и выполняют свои запросы Обмен данными улучшается по всей организации Доступные данные поддерживают изменения в обмене информацией Асинхронные событийно-управляемые микросервисы Пример команды, использующей событийно-управляемые микросервисы Синхронные микросервисы Недостатки синхронных микросервисов Связь «точка-точка» Зависимое масштабирование Обработка отказов сервисов Управление версиями API и зависимостями Доступ к данным с привязкой к реализации Распределенные монолиты Тестирование Преимущества синхронных микросервисов Резюме Глава 2. Основы событийно-управляемых микросервисов Построение топологий Топология микросервисов Бизнес-топология Содержимое события Структура события Событие без ключа Сущностное событие Событие с ключом Материализация состояния из сущностных событий Определения и схемы данных событий Принцип единственного источника событий Взаимодействие микросервисов с помощью брокера событий Хранение и обработка событий Дополнительные факторы, которые следует учитывать Брокеры событий или брокеры сообщений? Потребление из неизменяемого журнала Потребление в качестве потока событий Потребление в форме очереди Обеспечение единственного источника истины Масштабное управление микросервисами Размещение микросервисов в контейнерах Размещение микросервисов на виртуальных машинах Управление контейнерами и виртуальными машинами Уплата налога на микросервисы Резюме Глава 3. Обмен информацией и контракты на передачу данных Событийно-управляемые контракты на передачу данных Использование явных схем в качестве контрактов Комментарии к определению схемы Полнофункциональное развитие схемы Поддержка генератора кода Разрушительные изменения схемы Учет критических изменений схемы для событий Выбор формата события Дизайн событий Говорите правду, всю правду и ничего, кроме правды Используйте одно-единственное определение события в расчете на поток Используйте самые точные типы данных Держите события узконаправленными Пример: перегрузка определений событий Минимизируйте размер событий Привлекайте потенциальных потребителей к дизайну события Не используйте события в качестве семафоров и сигналов Резюме Глава 4. Интеграция событийно-управляемых архитектур с существующими системами Что такое освобождение данных? Компромиссы для освобождения данных Конвертация освобожденных данных в события Шаблоны освобождения данных Фреймворки освобождения данных Освобождение данных по запросу Массовая загрузка Инкрементная загрузка временных меток Загрузка с автоинкрементируемым ID Выполнение пользовательских запросов Инкрементное обновление Выгоды от обновления по запросу Недостатки обновления по запросу Освобождение данных с помощью журналов захвата изменений в данных Выгоды от использования журналов хранилища данных Недостатки использования журналов базы данных Освобождение данных с помощью исходящих таблиц Некоторые мысли по поводу производительности Изоляция внутренних моделей данных Обеспечение совместимости схем Выгоды от создания событий с помощью исходящих таблиц Недостатки создания событий с помощью исходящих таблиц Захват изменений в данных с помощью триггеров Выгоды от использования триггеров Недостатки использования триггеров Внесение изменений определения данных в захватываемые наборы данных Обработка произведенных постфактум изменений определения данных для шаблонов запросов и журналов CDC Обработка изменений определения данных для шаблонов захвата таблиц изменений в данных Запись данных о событиях в хранилища данных Влияние на бизнес записи данных в приемники и получения их из источников Резюме Глава 5. Основы событийно-управляемой обработки Топологии без поддержки состояния Преобразования Ветвление и слияние потоков Переподразделение потоков событий Пример переподразделения потока событий Соподразделение потоков событий Пример соподразделения потока событий Назначение разделов экземпляру потребителя Назначение разделов с помощью контроллера разделов Назначение соподразделенных разделов Стратегии назначения разделов Назначение по круговой схеме Статическое назначение Индивидуально настраиваемое назначение Восстановление после отказов экземпляра обработчика без поддержки состояния Резюме Глава 6. Детерминированная обработка потоков Детерминизм событийно-управляемых рабочих процессов Временные метки Синхронизация распределенных временных меток Обработка с помощью событий, помеченных временными метками Пример: выбор порядка событий при обработке многочисленных разделов Планирование событий и детерминированная обработка Индивидуально настраиваемые планировщики событий Обработка на основе времени события, времени обработки и времени получения Извлечение временной метки потребителем Вызовы к внешним системам в форме «запрос-ответ» Водяные знаки Водяные знаки в параллельной обработке Время потока Время потока в параллельной обработке Неупорядоченные и запоздалые события Запоздалые события с водяными знаками и временем потока Причины и последствия неупорядоченных событий Загрузка из источников с неупорядоченными данными Несколько производителей в несколько разделов Чувствительные ко времени функции и управление окнами Переворачивающиеся окна Скользящие окна Сеансовые окна Обработка запоздалых событий Повторная обработка или обработка в режиме, близком к реальному времени Периодические сбои и запоздалые события Проблемы с подключением производителя/брокера событий Резюме и дополнительная литература Глава 7. Потоковая передача с поддержкой состояния Хранилища состояний и материализация состояний из потока событий Запись состояния в поток событий журнала изменений Материализация состояния во внутреннее хранилище состояний Материализация глобального состояния Преимущества использования внутреннего состояния Требования к масштабируемости снимаются с разработчика Высокопроизводительные возможности, основанные на использовании дисков Гибкость использования подключенного через сеть внешнего диска Недостатки использования внутреннего состояния Ограничения при использовании локальных дисков Потери при использовании дискового пространства Масштабирование и восстановление внутреннего состояния Использование «горячих реплик» Восстановление и масштабирование из журналов изменений Восстановление и масштабирование входных потоков событий Материализация состояния во внешнее хранилище состояний Преимущества внешнего состояния Полная локализация данных Технологии Недостатки внешнего состояния Управление многочисленными технологиями Потеря производительности из-за сетевой задержки Финансовые затраты на сервисы внешнего хранилища состояний Полная локальность данных Масштабирование и восстановление с помощью внешних хранилищ состояний Использование исходных потоков Использование журналов изменений Использование моментальных снимков Перестраивание хранилищ состояний или их мигрирование? Перестраивание Мигрирование Транзакции и практически однократная обработка Пример: сервис учета запасов Практически однократная обработка с транзакциями клиент-брокер Практически однократная обработка без транзакции клиент-брокер Генерация дублирующихся событий Идентификация дублирующихся событий Защита от дубликатов Поддержание согласованного состояния Резюме Глава 8. Построение рабочих процессов с помощью микросервисов Шаблон «хореография» Простой пример событийно-управляемой хореографии Создание и изменение хореографического рабочего процесса Мониторинг хореографического рабочего процесса Шаблон «оркестровка» Простой пример событийно-управляемой оркестровки Простой пример оркестровки с прямым вызовом Событийно-управляемая оркестровка в сравнении с окрестровкой с прямым вызовом Создание и изменение рабочего процесса на основе оркестровки Мониторинг процесса на основе оркестровки Распределенные транзакции Хореографические транзакции: шаблон «Сага» Пример хореографической транзакции Транзакции с оркестровкой Компенсационные процессы Резюме Глава 9. Микросервисы с использованием технологии «Функция как сервис» Проектирование функционально-ориентированных решений в качестве микросервисов Обеспечивайте строгое членство в ограниченном контексте Фиксируйте смещения только после завершения обработки Когда функция завершила свою обработку Когда функция только что запустилась Меньше значит больше Выбор провайдера FaaS Построение микросервисов из функций «Холодный старт» и «теплые старты» Запуск функций с помощью триггеров Запуск по новому событию: слушатель потока событий Запуск по задержке группы потребителей Запуск по расписанию Запуск с использованием веб-перехватчиков Запуск по событиям ресурсов Решение бизнес-задач с помощью функций Поддержание состояния Функции, вызывающие другие функции Шаблон событийно-управляемого обмена информацией Шаблон прямого вызова Хореография и асинхронный вызов функций Оркестровка и синхронный вызов функций Завершение работы функции и выключение Тонкая настройка функций Выделение достаточных ресурсов Параметры пакетной обработки событий Масштабирование решений FaaS Резюме Глава 10. Микросервисы на основе базового шаблона производителя и потребителя Где BPC работают хорошо? Интеграция с существующими и унаследованными системами Пример: шаблон «Коляска» Бизнес-логика с поддержкой состояния без учета порядка событий Пример: книгоиздание Когда уровень данных выполняет значительную часть работы Независимое масштабирование уровня обработки и данных Пример: агрегирование данных о событиях для создания профилей взаимодействия с пользователями Гибридные приложения BPC с внешней потоковой обработкой Пример: использование внешнего фреймворка обработки потоков для объединения потоков событий Резюме Глава 11. «Тяжеловесные» фреймворки для микросервисов Краткая история «тяжеловесных» фреймворков Внутренняя логика работы «тяжеловесных» фреймворков Выгоды и ограничения Варианты настройки кластера и режимы исполнения Используйте сервис, размещенный на хосте провайдера Постройте свой собственный полный кластер Создайте кластер, интегрированный с CMS Развертывание и запуск кластера с использованием CMS Указание ресурсов для одного задания с использованием CMS Режимы передачи приложений в кластер Драйверный режим Кластерный режим Обработка состояния и использование контрольных точек Масштабирование приложений и обработка разделов потока событий Масштабирование приложения во время его работы Масштабирование приложения путем его перезапуска Автоматическое масштабирование приложений Восстановление после отказов Рекомендации по части мультитенантности Языки и синтаксис Выбор фреймворка Пример: обработка щелчков и просмотров с помощью сеансовых окон Резюме Глава 12. «Легковесные» фреймворки для микросервисов Выгоды и ограничения «Легковесная» обработка Обработка состояния и использование журналов изменений Масштабирование приложений и восстановление после отказов Перераспределение событий Назначение состояния Репликация состояния и «горячие реплики» Выбор «легковесного» фреймворка Apache Kafka Streams Apache Samza: режим встраивания Языки и синтаксис Операция соединения «поток-таблица-таблица»: шаблон обогащения Резюме Глава 13. Интегрирование событийно-управляемых микросервисов с микросервисами типа «запрос-ответ» Обработка внешних событий Автономно генерируемые события Реактивно генерируемые события Обработка автономно генерируемых аналитических событий Интегрирование со сторонними API «запрос-ответ» Обработка и обслуживание данных с поддержкой состояния Обслуживание запросов реального времени с помощью внутренних хранилищ состояний Обслуживание запросов реального времени с помощью внешних хранилищ состояний Обслуживание запросов путем материализации событийно-управляемого микросервиса Обслуживание запросов через отдельный микросервис Обработка запросов внутри событийно-управляемого рабочего процесса Обработка событий для пользовательских интерфейсов Пример: рабочий процесс публикации газет (шаблон одобрения) Разделение сервисов одобрения редактором и рекламодателем Микрофронтенды в приложениях на основе запросов-ответов Выгоды от микрофронтендов Композиционные микросервисы Простота привязки к бизнес-требованиям Недостатки микрофронтендов Потенциальное отсутствие единообразия элементов пользовательского интерфейса и стилизации Различающаяся производительность микрофронтендов Пример: приложение поиска источников впечатлений и отзывов о них Резюме Глава 14. Вспомогательные инструменты Система закрепления микросервисов за командами Создание и модифицирование потока событий Разметка потока событий метаданными Квоты Реестр схем Оповещение о создании и модификации схем Управление смещением Разрешения и списки контроля доступа для потоков событий Управление состоянием и сброс приложения Мониторинг запаздывания смещения потребителей Оптимизированный процесс создания микросервисов Элементы управления контейнерами Создание кластеров и управление ими Программная доводка брокеров событий Программная доводка вычислительных ресурсов Межкластерная репликация событийных данных Программная доводка инструментария Отслеживание зависимостей и визуализация топологии Пример топологии Резюме Глава 15. Тестирование событийно-управляемых микросервисов Общие принципы тестирования Модульное тестирование функций топологии Функции без поддержки состояния Функции с поддержкой состояния Тестирование топологии Тестирование развития и совместимости схем Интеграционное тестирование событийно-управляемых микросервисов Локальное интеграционное тестирование Создание временной среды внутри среды выполнения тестируемого кода Создание временной среды, внешней по отношению к тестируемому коду Интеграция размещенных на хосте сервисов с использованием возможностей имитации и симуляции Интеграция удаленных сервисов, не имеющих локальных возможностей Полное интеграционное тестирование Программное создание временной среды интеграционного тестирования Заполнение событиями с использованием реальных производственных данных Заполнение событиями из подготовленного источника тестирования Создание имитационных событий с использованием схем Тестирование с использованием единой общей среды Тестирование с использованием производственной среды Выбор стратегии полного интеграционного тестирования Резюме Глава 16. Развертывание событийно-управляемых микросервисов Принципы развертывания микросервисов Архитектурные компоненты развертывания микросервисов Системы непрерывной интеграции, доставки и развертывания Системы управления контейнерами и стандартное аппаратное обеспечение Базовый шаблон полного развертывания Шаблон непрерывного обновления Шаблон разрушительных изменений схемы Продолженная миграция через два потока событий Синхронизированная миграция в новый поток событий Шаблон «сине-зеленого» развертывания Резюме Глава 17. Заключение Уровни обмена информацией Предметные области бизнеса и ограниченные контексты Совместные инструменты и инфраструктура Схематизированные события Освобождение данных и единственный источник истины Микросервисы Варианты реализации микросервисов Тестирование Развертывание Завершающие слова Предметный указатель Об авторе Об обложке