[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-reconciliation::ru":3,"gloss-cluster-reconciliation::ru":26,"gloss-next-reconciliation::ru":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"reconciliation","integration","Сверка","Сверка (reconciliation) — это периодическое полное сравнение двух систем, которые обязаны совпадать, запускаемое именно для того, чтобы найти потерянное потоком событий. Она нужна потому, что на достаточно длинном отрезке ни один механизм доставки не безупречен: события теряются во время выкладки, отклоняются валидацией и больше не повторяются, обрабатываются не в том порядке или попадают в очередь, которую никто не разбирает. Каждое из этого по отдельности редкость, вместе — неизбежность, и ни одно не объявляет о себе.\n\nЭто не первичная загрузка. Первичная загрузка — разовый перенос истории в момент включения интеграции. Сверка — повторяющийся аудит, который идёт вечно после него, и путают их обычно потому, что читают они одни и те же данные. Операционно важно другое различие: у загрузки есть конец, а сверка — постоянная статья расходов, закладывать которую следует при проектировании интеграции, а не после первого инцидента.\n\nПроектных решений немного, и они весомы. Сравнивайте по устойчивому идентификатору, который хранят обе системы, и никогда по имени или адресу почты: люди их правят, и тогда сравнение сообщит о расхождении, которое на деле является переименованием. Сравнивайте намеренно узкий набор полей — те, где неверное значение действительно навредит, — а не всё подряд: широкое сравнение порождает шум, шум начинают игнорировать, а следом игнорируют и весь проход. Явно решите, отчитывается проход или чинит: чинящая сверка, доверившаяся не той стороне, способна затереть хорошие данные в масштабе, недоступном человеческой ошибке, поэтому починке нужен назначенный источник истины по каждому полю и предел на объём правок за один запуск.\n\nЧто бы она ни делала, пусть записывает каждое найденное расхождение, включая исправленные. Число расхождений за прогон — один из немногих честных сигналов о здоровье конвейера: тихо деградировавший поток проявляется растущим числом задолго до того, как кто-то пожалуется на пропавшие данные, а проход, внезапно не нашедший ничего, чаще сломан, чем успешен.","Сверка — повторяющееся сравнение двух систем, находящее потерянное потоком событий; число расхождений и есть сигнал о здоровье конвейера.",null,[11,14,17,20,23],{"slug":12,"name":13},"backfill","Обратное заполнение (Backfill)",{"slug":15,"name":16},"dead-letter-queue","Очередь недоставленных сообщений (DLQ)",{"slug":18,"name":19},"delivery-semantics","Семантика доставки (delivery semantics)",{"slug":21,"name":22},"upsert","Upsert (вставка или обновление)",{"slug":24,"name":25},"webhook-replay","Повторная отправка вебхуков",[27,31,34,38,41,44,47,50,53,56,59,62],{"slug":28,"category":5,"name":29,"updated_at":30},"api-deprecation","Устаревание API","2026-09-08T21:32:37+00:00",{"slug":32,"category":5,"name":33,"updated_at":30},"app-review","Проверка приложения",{"slug":35,"category":5,"name":36,"updated_at":37},"backend-for-frontend","Backend for Frontend (BFF)","2026-09-08T21:32:36+00:00",{"slug":39,"category":5,"name":40,"updated_at":30},"bulk-api","Массовый API",{"slug":42,"category":5,"name":43,"updated_at":37},"concurrency-limit","Лимит параллельных запросов",{"slug":45,"category":5,"name":46,"updated_at":30},"connector-versioning","Версионирование коннекторов",{"slug":48,"category":5,"name":49,"updated_at":30},"delete-propagation","Распространение удалений",{"slug":51,"category":5,"name":52,"updated_at":30},"effective-permissions","Действующие права",{"slug":54,"category":5,"name":55,"updated_at":37},"event-ordering","Порядок событий",{"slug":57,"category":5,"name":58,"updated_at":37},"field-mapping","Сопоставление полей (field mapping)",{"slug":60,"category":5,"name":61,"updated_at":37},"function-schema","Схема функции",{"slug":63,"category":5,"name":64,"updated_at":37},"grpc","gRPC"]