SYSTEM ATLASЗагрузка материала
CAP-теоремаПри сетевом разделении распределенная система не может одновременно гарантировать строгую согласованность и доступность.PACELCПри partition выбирают между доступностью и согласованностью, а без partition - между задержкой и согласованностью.Итоговая согласованностьЕсли новые изменения прекратятся, реплики со временем сойдутся к одному состоянию.ИдемпотентностьПовторное выполнение одной операции не меняет результат после первого успешного выполнения.FLP-невозможностьВ полностью асинхронной системе консенсус нельзя гарантировать при одном отказе.Проблема двух генераловНельзя добиться общего знания о доставке через ненадежный канал.Задача византийских генераловКонсенсус требуется при произвольном или злонамеренном поведении узлов.PaxosКворумы и раунды обеспечивают безопасное согласование значения.RaftЛидер, журнал и термы упрощают понимание консенсуса.ZabУпорядочивает изменения состояния через лидера и кворум.Gossip ProtocolУзлы обмениваются информацией локально, распространяя ее по сети.Consistent HashingИзменение числа узлов перемещает ограниченную долю ключей.Vector ClocksВекторные часы определяют причинность и конкурентность событий.Lamport ClocksЛогические часы задают порядок, совместимый с причинностью.Hybrid Logical ClocksФизическое и логическое время объединяются для практической причинности.CRDTОперации или состояния сливаются без центральной координации.Quorum Reads and WritesПересекающиеся кворумы связывают чтение с последними записями.Read RepairЧтение обнаруживает расхождения и обновляет устаревшие реплики.Hinted HandoffВременный узел хранит запись до восстановления целевой реплики.Merkle TreesХеш-дерево эффективно сравнивает большие наборы данных.Fencing TokensМонотонные токены не позволяют устаревшему владельцу блокировки писать данные.LeaseПраво владения ресурсом ограничено временем.Idempotency KeyУникальный ключ защищает повторную операцию от дублирования эффекта.Exactly-Once SemanticsЭффект однократной обработки строится из транзакций, идемпотентности и дедупликации.Dead Letter QueueИзолирует сообщения, которые не удалось обработать после допустимых попыток.Poison MessageНекорректное сообщение систематически ломает обработчик и блокирует поток.Consumer LagРазница между опубликованными и обработанными событиями показывает отставание потребителя.Канал сообщенийСоединяет отправителя и получателя через именованный путь передачи сообщений.Канал «точка-точка»Каждое сообщение получает ровно один из конкурирующих потребителей.Канал публикации-подпискиДоставляет копию события всем активным подписчикам.Типизированный каналРазделяет потоки сообщений по их типу и контракту.Канал невалидных сообщенийИзолирует сообщения, не соответствующие ожидаемому формату.Гарантированная доставкаСохраняет сообщение так, чтобы оно пережило сбой транспорта или процесса.Адаптер каналаПодключает приложение к системе сообщений без проникновения транспортной логики в домен.Мост сообщенийСвязывает разные брокеры или транспортные системы.Шина сообщенийОбеспечивает общий транспорт и канонические соглашения для множества приложений.Командное сообщениеПредставляет запрос на выполнение операции как сообщение.Документное сообщениеПередает структурированные данные без требования выполнить конкретную команду.Событийное сообщениеСообщает о факте, уже произошедшем в системе.Запрос-ответСвязывает запрос с асинхронным ответом.Обратный адресУказывает канал, по которому следует отправить ответ.Идентификатор корреляцииСвязывает ответ, событие или фрагмент с исходным запросом.Последовательность сообщенийПередает большой набор как упорядоченную серию частей.Срок жизни сообщенияЗапрещает обработку сообщения после потери его актуальности.Индикатор форматаЯвно сообщает версию или формат полезной нагрузки.Маршрутизатор по содержимомуВыбирает маршрут на основе полей сообщения.Фильтр сообщенийУдаляет из потока сообщения, не удовлетворяющие условию.Динамический маршрутизаторИзменяет маршрутизацию на основании актуальных правил и доступности получателей.Список получателейОтправляет сообщение вычисленному набору адресатов.Разделитель сообщенийРазбивает составное сообщение на независимые части.Агрегатор сообщенийСобирает связанные сообщения в единый результат.Восстановитель порядкаВозвращает пришедшие не по порядку сообщения в правильную последовательность.Составной обработчик сообщенийРазделяет сообщение, обрабатывает части и снова объединяет результат.Рассылка со сборомПараллельно отправляет запрос нескольким обработчикам и агрегирует ответы.Маршрутный листХранит последовательность этапов обработки внутри самого сообщения.Менеджер процессаКоординирует длительный процесс, реагируя на события и состояние.Брокер сообщенийЦентрализует маршрутизацию, преобразование и доставку сообщений.Конверт сообщенияДобавляет транспортные метаданные вокруг неизменной полезной нагрузки.Обогатитель содержимогоДополняет сообщение данными из другого источника.Фильтр содержимогоУдаляет ненужные поля из сообщения.Квитанция на данныеВыносит большую полезную нагрузку во внешнее хранилище и передает ссылку.Нормализатор сообщенийПреобразует разные входные форматы к единому представлению.Каноническая модель данныхСнижает число попарных преобразований через общий формат обмена.Шлюз сообщенийПредоставляет приложению доменно понятный интерфейс к инфраструктуре сообщений.Маппер сообщенийПреобразует доменные объекты в сообщения и обратно.Транзакционный клиентСогласует отправку или получение сообщения с локальной транзакцией.Опрашивающий потребительПериодически запрашивает канал на наличие новых сообщений.Событийный потребительПолучает вызов при появлении сообщения.Диспетчер сообщенийРаспределяет сообщения между обработчиками.Избирательный потребительПолучает только сообщения, соответствующие селектору.Долговечный подписчикСохраняет подписку и накопленные сообщения во время отключения клиента.Идемпотентный получательБезопасно игнорирует повторную доставку уже обработанного сообщения.Активатор сервисаВызывает бизнес-сервис в ответ на входящее сообщение.Управляющая шинаУправляет конфигурацией и состоянием интеграционной системы через сообщения.Обходной маршрутВременно перенаправляет поток через диагностический или альтернативный этап.Ответвление потокаКопирует сообщения для наблюдения без изменения основного маршрута.История сообщенияЗаписывает пройденные сообщением компоненты и преобразования.Хранилище сообщенийСохраняет сообщения для аудита, восстановления или повторной обработки.Умный прокси сообщенийСохраняет исходную корреляцию при прохождении запроса через посредника.Тестовое сообщениеПроверяет работоспособность маршрута контролируемым сообщением.