Мастер БД - Локальная БД - более 10000 клиентов - PullRequest
1 голос
/ 08 апреля 2020

У меня есть проект, в котором будет основная база данных, клиентская служба windows, клиентское приложение, клиентская база данных. Нам нужна клиентская база данных, потому что бывают ситуации, когда клиент не сможет связаться с основным источником базы данных из-за проблем с подключением.

Я надеялся получить некоторые из ваших знаний о том, что лучший / наиболее эффективный способ синхронизации c определенных таблиц из клиентской базы данных с главной базой данных и других таблиц из основной базы данных с клиентской базой данных в режиме реального времени (в течение нескольких минут). Мне также нужно было бы отслеживать, что было синхронизировано в основной базе данных, чтобы я мог использовать это на панели инструментов. Может быть до 10 000+ клиентов, пытающихся получить эту информацию одновременно.

Любые предложения будут полезны.

1 Ответ

1 голос
/ 16 апреля 2020

Вас может заинтересовать схема, основанная на Apache Кафке технологиях.

Apache Кафка имеет возможность создавать соединителей .

Архитектурная схема будет выглядеть следующим образом:

Local DB - Connector - Apache Kafka - Connector - Server DB.

Соединители поддерживают разные базы данных.

Вы можете использовать соединители для подключения к самой базе данных или к отдельным таблицам.

Ваша схема аналогична схеме ETL, основанной на Apache технологиях Kafka .

Вы также можете разработать приложение, которое будет отслеживать то, что было синхронизировано в основной базе данных, используя Apache Kafka Streams .

Другой способ, если вы не используете Apache Kafka, это master - master репликации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...