Дедупликация событий в Kafka для Exactly-Once без транзакций категория: реализация Exactly-Once без транзакционного механизма главная задача — не допустить повторной обработки дублирующихся сообщений базовый принцип —…
RabbitMQ — брокер сообщений, поддерживающий подтверждения (ACK) Настроить у потребителя ручные подтверждения (manual ACK) Если потребитель завершился до отправки ACK, сообщение сохраняется в очереди и передается…
Kafka — распределённый брокер потоковых событий Идемпотентность предотвращает появление дубликатов при повторной отправке На стороне продюсера включают идемпотентный режим (enable.idempotence=true) Для сообщений в…
Контекст: обработка сообщений в очередях RabbitMQ с требованием гарантировать однократное выполнение операции Идемпотентность означает, что повторная обработка одного сообщения не меняет итоговый результат Применение…
многопоточность, работа с разделяемыми данными защищать балансы с помощью мьютексов или синхронизаторов использовать атомарные операции для изменения значений применять транзакции базы данных с подходящим уровнем…
Горизонтальное масштабирование за счёт добавления новых инстансов сервиса Применение балансировщиков нагрузки (load balancers) Автоматическое масштабирование (auto-scaling), настроенное по метрикам нагрузки…
Модульная структура приложения с SPM SPM представляет собой официальный менеджер пакетов Swift модули создаются в виде отдельных пакетов, каждый из которых содержит собственный Package.swift в состав пакетов могут…
Отказоустойчивость в Kubernetes Kubernetes — система оркестрации контейнеров, в которой предусмотрены встроенные механизмы отказоустойчивости Для запуска нескольких копий подов применяются ReplicaSets; при сбое…
многопоточность, защита данных выбирать lock-free структуры данных, например ConcurrentHashMap заменять блокировки на атомарные операции (atomic variables), где это возможно сводить критические секции к минимально…
цель: исключить состояния гонки (race conditions) использовать синхронизацию: мьютексы и блокировки (locks) выбирать конкурентные коллекции (ConcurrentHashMap, ConcurrentQueue) по возможности применять атомарные…
Как обеспечить потокобезопасность префиксного дерева? Префиксное дерево — это структура данных для хранения строк, объединённых общей логикой префиксов. Для защиты операций используют мьютексы или read-write lock.…
распределённый кеш: в каждом DC хранятся локальные копии данных операция сброса должна выполняться атомарно и консистентно задействовать междатаценровую систему обмена событиями, например Kafka или Redis Streams после…