Real-time синхронизация
До 500K msg/s, 10 пайплайнов, lag-метрики в Prometheus. Конфликт-стратегии: last-writer и vector-clocks. Трейсы хранятся 30 дней.
syncops.io / product / features
Функциональные возможности · v3.4
Полный технический разбор того, как устроена платформа: от транзакционного движка репликации до байт-уровневой безопасности. Разделы написаны для инженеров, которые читают исходник, а не маркетинговые слайды.
01 · Real-time
Движок читает WAL-подобные журналы источников и применяет изменения на цели в момент их фиксации. Без батчей, без поллинга, без «проверим через 5 секунд».
Каждый пайплайн работает на событийной модели: агент на источнике подписывается на лог изменений (Postgres WAL, Kafka offset, Redis AOF, Mongo oplog) и транслирует события в очередь доставки. Средний lag на кластере prod/ru-central держится в пределах 8–15 мс при нагрузке до 2,4M msg/s.
При остановке узла checkpoint фиксируется в локальном журнале и передаётся следующему воркеру. Восстановление занимает секунды, а не минуты, потому что не нужно сканировать весь источник — достаточно сдвинуть offset на последнюю зафиксированную позицию.
02 · Конфликты
Параллельная запись из нескольких источников — это не баг, а нормальный сценарий. SyncOps не «тихо затирает» данные, а детерминированно разрешает коллизии и логирует каждое решение.
По умолчанию применяется стратегия vector clocks + last-writer по логической версии. Если два агента записывают в одну строку одновременно, движок сравнивает векторные часы и выбирает победителя. Проигравшая запись сохраняется в журнал конфликтов и доступна для отладки через API.
Для специфичной доменной логики подключается собственный мерджер через SDK (Go, Rust, Python). Мерджер получает оба значения, метаданные и контекст пайплайна и возвращает итоговое значение. Поддерживаются четыре встроенные стратегии: last-writer, vector-clocks, union-merge и field-level-priority.
03 · Аудит
Каждое сообщение получает уникальный trace-id и проходит через полный путь: источник → очередь → трансформация → цель. Любой байт можно проследить назад до строки в исходной таблице.
Трейсы строятся на OpenTelemetry и хранятся в распределённом хранилище (по умолчанию ClickHouse, опционально — S3 + Athena). Для каждого события фиксируются: timestamp фиксации в источнике, timestamp применения на цели, id воркера, версия схемы, размер payload и результат применения (applied / skipped / conflict).
Аудит-лог хранится не менее 90 дней в тарифах Business и 730 дней в Enterprise. По trace-id можно восстановить полную цепочку, включая промежуточные трансформации. Это удобно при расследовании инцидентов и для соответствия требованиям регуляторов (152-ФЗ, PCI-DSS).
04 · Масштабирование
Горизонтальное масштабирование без перебалансировки и без остановки пайплайнов. Добавили узел — он автоматически подхватывает часть нагрузки и начинает обрабатывать события.
Кластер управляется через Raft-консенсус. Каждый узел хранит локальный shard журнала и участвует в выборке лидера. При добавлении узла происходит автоматический rebalance: данные перераспределяются по consistent hashing, а новые воркеры начинают читать со своего offset.
Минимальный кластер — 3 узла (для отказоустойчивости). Максимальный проверенный — 48 узлов на одном пайплайне. При нагрузке выше 1,8M msg/s рекомендуется добавлять узлы, а не увеличивать размер инстанса. Средний время rebalance на кластере из 12 узлов — 42 секунды.
05 · Безопасность
Данные шифруются при передаче и в покое. Ключи ротируются автоматически, доступ к конкретным столбцам контролируется через ABAC-политики. Ни один байт не покидает кластер в открытом виде.
Транспортное шифрование — TLS 1.3 с обязательным mTLS между узлами кластера. Хранение — AES-256-GCM с ключами в KMS (поддерживаются AWS KMS, GCP Cloud KMS, HashiCorp Vault и локальный HSM). Ключи ротируются каждые 24 часа без остановки пайплайнов.
На уровне данных действует ABAC: политики определяют, какие столбцы и из каких таблиц может читать/записывать конкретный пайплайн. Чувствительные поля (токены, PII, ключи) маскируются на лету — маска настраивается на уровне схемы. События доступа пишутся в отдельный security-лог, который нельзя удалить через API.
06 · Интеграции
Полное управление платформой через REST API и нативные SDK. Создавайте пайплайны, настраивайте алерты, читайте метрики и запускать rollback — всё из кода, без GUI.
REST API (v2) покрывает 96% операций: создание пайплайнов, управление кластером, чтение метрик, запуск conflict-resolution и rollback до конкретного checkpoint. Аутентификация — через API-ключи с scope-based правами или через OIDC (поддерживаются Okta, Auth0, Keycloak).
SDK доступны для Go, Rust и Python. Go SDK — основной, на нём написан сам движок. Rust SDK — для high-performance мерджеров. Python SDK — для аналитических пайплайнов и интеграций с Airflow/Dagster. Все SDK типобезопасны, генерируются из OpenAPI-спецификации и проходят контрактные тесты на каждый релиз.
Сравнение возможностей
До 500K msg/s, 10 пайплайнов, lag-метрики в Prometheus. Конфликт-стратегии: last-writer и vector-clocks. Трейсы хранятся 30 дней.
До 2M msg/s, 50 пайплайнов, все 4 стратегии конфликтов, ABAC-политики, трейсы 90 дней, кластер до 24 узлов. SLA 99.9%.
Безлимит msg/s, HSM-интеграция, security-лог 730 дней, on-premise и гибридный режим, выделенная поддержка 24/7. SLA 99.95% с компенсацией.
FAQ · Функциональность
Попробовать на своей нагрузке
Разверните тестовый кластер из 3 узлов в облаке или в своём Kubernetes. Подключите источник, настройте цель и посмотрите метрики в реальном времени — без карты и без звонков в отдел продаж.