<hr />Моя ситуация (коротко)<ul><li><p><b>MySQL</b></p></li><li><p>Есть:</p><ul><li><p>?? <b>RU-домен + RU-сервер</b> (ПД РФ хранятся в РФ) ?</p></li><li><p>?? <b>.com + БД в Финляндии</b></p></li></ul></li><li><p>Нужно:</p><ul><li><p>синхронизировать работу <b>.com ? RU</b></p></li><li><p><b>запись данных с обеих сторон</b></p></li><li><p>нормальная скорость в РФ</p></li></ul></li><li><p>Трафик: <b>средний</b></p></li></ul><p>?? <b>Главное ограничение</b><br />? <b>Персональные данные РФ НЕ должны уходить в EU</b><br />? значит <b>полной bidirectional-репликации делать нельзя</b></p><hr />? КЛЮЧЕВОЙ ПРИНЦИП<h2>? НЕ «одна общая БД»</h2><h2>? <b>ДВЕ БД + управляемая синхронизация</b></h2><hr />? РЕКОМЕНДУЕМАЯ АРХИТЕКТУРА (рабочая и легальная)<h2>1?? Разделяем данные логически</h2><p>В MySQL:</p><h3>?? RU DB (основная для РФ)</h3><p><b>Хранит:</b></p><ul><li><p>users (РФ)</p></li><li><p>телефоны, email, адреса</p></li><li><p>заказы РФ</p></li><li><p>платежи РФ</p></li></ul><h3>?? EU DB (.com)</h3><p><b>Хранит:</b></p><ul><li><p>товары</p></li><li><p>категории</p></li><li><p>контент</p></li><li><p>публичные отзывы</p></li><li><p>агрегированные данные (без ПД)</p></li></ul><hr /><h2>2?? Что и КАК синхронизируем</h2><h3>? Из RU ? EU (ограниченно)</h3><p><b>МОЖНО передавать:</b></p><ul><li><p>order_id</p></li><li><p>product_id</p></li><li><p>сумма</p></li><li><p>статус</p></li><li><p>timestamps</p></li></ul><p><b>НЕЛЬЗЯ:</b></p><ul><li><p>ФИО</p></li><li><p>телефон</p></li><li><p>email</p></li><li><p>адрес</p></li><li><p>IP</p></li></ul><p>? Используем <b>обезличенные события</b></p><hr /><h3>? Из EU ? RU (свободно)</h3><ul><li><p>товары</p></li><li><p>цены</p></li><li><p>наличие</p></li><li><p>контент</p></li><li><p>SEO-данные</p></li></ul><hr /><h2>3?? Техническая реализация (MySQL)</h2><h3>? Почему НЕ Master–Master</h3><ul><li><p>конфликты</p></li><li><p>риск утечки ПД</p></li><li><p>сложная поддержка</p></li><li><p>плохо живёт через границы</p></li></ul><hr /><h3>? Правильный вариант: <b>Event-based Sync</b></h3>? Запись<pre><code>RU / EU ? Local MySQL ? Event ? Queue ? Receiver ? Apply </code></pre><hr /><h2>4?? Инструменты (проверенные)</h2><h3>Очередь</h3><ul><li><p><b>RabbitMQ</b> (рекомендую)</p></li><li><p>или Kafka (если уже есть опыт)</p></li><li><p>или Redis Streams (если проще)</p></li></ul><hr /><h3>Синхронизация</h3><ul><li><p><b>Debezium (CDC)</b> — если хочешь автомат</p></li><li><p>или:</p><ul><li><p>сервис-слой</p></li><li><p>таблица <code>outbox_events</code></p></li></ul></li></ul><hr /><h3>Пример события (RU ? EU)</h3><pre><code>{ "event": "order_created", "order_id": 93241, "product_id": 883, "amount": 12990, "currency": "RUB", "country": "RU", "created_at": "2025-01-10T12:45:00" } </code></pre><hr /><h2>5?? Как сделать сайт быстрым в РФ</h2><h3>? Обязательно</h3><ul><li><p>Backend в РФ</p></li><li><p>MySQL в РФ</p></li><li><p>Redis в РФ</p></li><li><p>Nginx + HTTP/2</p></li></ul><h3>Cloudflare</h3><ul><li><p>? не как прокси</p></li><li><p>? <b>только DNS</b></p></li><li><p>TTL минимальный</p></li><li><p>fallback на RU IP</p></li></ul><hr /><h2>6?? Как связать .ru и .com</h2><h3>Лучший вариант</h3><pre><code>.ru ? RU backend ? RU DB .com ? EU backend ? EU DB </code></pre><p>Общие:</p><ul><li><p>товары</p></li><li><p>контент</p></li><li><p>бизнес-логика</p></li></ul><p>Связь:</p><ul><li><p>только через API / очередь</p></li><li><p>никакого прямого MySQL-трафика между странами</p></li></ul><hr /><h2>7?? Что делать с пользователями</h2><ul><li><p><b>RU-пользователь</b> всегда обслуживается в РФ</p></li><li><p><b>EU / Other</b> — через .com</p></li><li><p>если RU-пользователь зашёл на .com:</p><ul><li><p>редирект</p></li><li><p>или read-only режим</p></li></ul></li></ul><hr /><h2>8?? Итоговая схема (коротко)</h2><pre><code> ????????????????? ? EU (.com) ? ? MySQL (EU) ? ????????????????? ? Events (no PD) ? ????????????????? ? Queue ? ????????????????? ? ????????????????? ? RU (.ru) ? ? MySQL (RU) ? ????????????????? </code></pre><hr /><h2>? Почему это лучший вариант</h2><p>? законно<br />? быстро в РФ<br />? масштабируемо<br />? переживает блокировки<br />? не зависит от Cloudflare<br />? нет конфликтов данных</p><hr /><p>Если хочешь, следующим шагом могу:</p><ul><li><p>предложить <b>конкретную схему таблиц</b></p></li><li><p>показать <b>пример outbox pattern</b></p></li><li><p>помочь решить <b>авторизацию пользователей между доменами</b></p></li><li><p>подсказать <b>конкретные облака/железо в РФ</b></p></li></ul><p>Просто скажи, что из этого важнее.</p>