Передача данных через кластеры с помощью gemfire - PullRequest
0 голосов
/ 07 февраля 2019

Я искал решения для своего варианта использования, но не нашел правильного, поэтому ожидаю несколько хороших идей для дальнейшего изучения.

У меня есть два кластера gemfire (версия 8.2) ( private и public ) каждый хранит 110 + GB данных без сохранения в хранилище дисков.Частный кластер получает данные из БД и передает их в общий доступ через шлюз WAN, пока оба кластера не подключены к сети.У меня есть сценарий использования, при котором я перезапускаю только общедоступный кластер, но после этого он теряет данные, и для заполнения данных мне необходимо перезапустить частный кластер и загрузить данные из БД в частный кластер, который, в свою очередь, передает данные через WAN.

Iне может заполнить публичный кластер из БД, так как он загружает мою основную БД, что повлияет на другие приложения.

Существует несколько решений, которые я пробовал.

Первое: Экспортнабор данных из частного кластера, а затем импортировать в открытый;но это отключает частные узлы Gemfire кластера, поскольку он хранит большой объем данных в каждом регионе, а также у меня есть ограничение на дисковое пространство для загрузки больших объемов данных.

Второй: Существует возможностьчто я буду выставлять бин JMX из публичного кластера.Затем я могу запустить клиентскую программу, которая вызывает функцию gemfire в частном кластере, которая перебирает записи и удаляет записи в общедоступный кластер через JMX, но моя организационная инфраструктура не позволяет мне выставлять компоненты JMX в узлах gemfire.

Третий: Как и второй, функция gemfire может передавать данные в общедоступный кластер через очередь, которая, кажется, работает, но имеет свои ограничения.Очередь может передавать только текстовые сообщения объемом 1 МБ, в связи с чем мне нужно специально обрабатывать большие объекты, а также передача данных включает в себя ненужную сериализацию и десериализацию (текстовое сообщение JSON).

В любом случае я могу попросить частный кластер повторно-передача всех данных через шлюз WAN или любое другое решение, которое кто-то может предложить мне изучить.

1 Ответ

0 голосов
/ 07 февраля 2019

Вы можете попробовать "gemtouch" в этом проекте с открытым исходным кодом. gemfire-toolkit .

Звучит очень похоже на идею 2, но не требует раскрытия бина JMX.Он использует JMX так же, как и gfsh.Если это проблема, вы можете легко отказаться от использования JMX, поскольку он использует только JMX для получения списка регионов.

...