Добро пожаловать к разработчикам фронтенда и плагинов, желающим внести свой вклад в проект. Для связи напишите мне на: 1053618636@qq.com
В контексте микросервисов распределенное хранение данных реального времени стало нормой. Однако иногда требуется в реальном или заданном времени полностью синхронизировать эти данные в другом месте.
Например, система отдела C компании может требовать данных, созданных отделами A и B. В этом случае неизбежно возникает необходимость полной или частичной синхронизации данных. В другом случае, данные из базы данных нужно синхронизировать в реальном времени в Elasticsearch, Redis и т. д. для поиска.
Практические применения синхронизации данных очень распространены в повседневной разработке распределенных систем и являются очень важными. Любые проблемы с синхронизацией данных могут привести к несоответствию данных и вызвать другие серьезные сбои.Маленькие компании обычно модифицируют код в бизнес-системах для записи данных в целевую систему данных. Компании среднего размера разрабатывают собственные небольшие программы для синхронизации данных для каждого отдела, что не поддается управлению и не имеет мониторинга. Это приводит к тому, что для каждого нового требования разрабатывается новая программа, что является крайне расточительным и не обеспечивает стабильности. В больших компаниях обычно используется платформа для миграции данных (например, Yandex.Metrica).MyDataHarbor появился как решение для этих требований!
MyDataHarbor представляет собой распределенный middleware, построенный на Zookeeper, который поддерживает горизонтальное масштабирование. Машины группируются в подгруппы, которые образуют подкластеры, где задачи распределяются для балансировки нагрузки и предотвращения сингл-пойнт-фейлур.
Рациональное абстрагирование и плагинная архитектура обеспечивают высокую гибкость MyDataHarbor. Любые требования к миграции данных могут быть реализованы через разработку плагинов.
MyDataHarbor был спроектирован с учетом потери данных, и поддержка транзакций обеспечивает сохранность данных.
После установки плагина middleware автоматически распознает его возможности и создает удобный для пользователя интерфейс для создания задач, без необходимости написания сложных конфигураций JSON.
MyDataHarbor поддерживает повторное использование различных компонентов из разных плагинов для создания нового pipeline, и это можно сделать с помощью визуализации.
Интеграция с Java JMX обеспечивает детализированный мониторинг каждой задачи, позволяя в реальном времени просматривать состояние выполнения задач.### 🚩Поддержка пакетной загрузки
Для источников данных, поддерживающих пакетную загрузку, предусмотрены специальные интерфейсы, что повышает скорость миграции данных, превращая мотоцикл в автомобиль.### 🚩ForkJoin
В случае, когда DataSource не позволяет параллельную загрузку данных (например, при использовании jdbc-курсора), внутри системы внедряется модель параллельного обработки ForkJoin, которая позволяет запускать несколько потоков. Благодаря гибкому управлению транзакциями, скорость работы значительно увеличивается, при этом обеспечивается стабильность и целостность данных.
MyDataHarbor зависит только от middleware Zookeeper, который состоит из двух компонентов: mydataharbor-console и mydataharbor-server.
Для получения дополнительной информации перейдите по ссылке: https://mydataharbor.yuque.com/staff-tzwgrd/uqew9p/pckin3
Установка MyDataHarbor очень проста (перед запуском убедитесь, что у вас есть кластер Zookeeper):
Ссылка для скачивания: https://github.com/mydataharbor/mydataharbor/releases Список файлов для скачивания:
mydataharbor-console-xxx-bin.tar.gz
mydataharbor-server-xxx-bin.tar.gz
xxx — это номер выпуска
Перейдите в папку config
и измените файл application.yml
. Основные параметры для изменения:
server:
port: 8080 # порт запуска консоли
zk: 127.0.0.1:2181 # адрес Zookeeper
На Windows запустите start.bat
На Linux запустите start.sh
, остановить stop.sh
Скрипт
start.sh
поддерживает параметрыjmx
,debug
,status
, например:
start.sh jmx
— запуск поддержки удаленного мониторинга jmx
start.sh debug
— запуск удаленного отладчика
start.sh status
— просмотр текущего состояния программы
Измените файл system.yml
в папке config
zk: ["127.0.0.1:2181"] # адрес Zookeeper
port: 1299 # порт запуска сервера
group: biz001 # группа, к которой относится узел
pluginRepository: http://127.0.0.1:8080 # адрес репозитория плагинов
На Windows запустите start.bat
На Linux запустите start.sh
, остановить stop.sh
Скрипт
start.sh
поддерживает параметрыjmx
,debug
,status
, например:
start.sh jmx
— запуск поддержки удаленного мониторинга jmx
start.sh debug
— запуск удаленного отладчика
start.sh status
— просмотр текущего состояния программы
Перейдите по адресу: mydataharbor-console
http://127.0.0.1:8080
Убедитесь, что вы видите запущенный узел
Пример запуска demo: http://demo.mydataharbor.com
Маркетплейс плагинов: https://www.mydataharbor.com/user/info.htmlДокументация (Yuque): https://mydataharbor.yuque.com/staff-tzwgrd/uqew9p
Добавлен интерфейс mydataharbor.ITaskStorage, который позволяет компонентам сохранять данные в режиме реального времени во время выполнения, и предоставлено стандартное реализация через zookeeper, которая обеспечивает синхронизацию раз в секунду, не влияя на производительность.
По умолчанию, информация о мониторинге задач сохраняется через интерфейс и отображается в режиме реального времени на панели управления.
Функция перестроения задач после их редактирования.
Изменен алгоритм перераспределения задач. При добавлении нового узла, задачи, которые имеют больше текущих задач, чем узлов для распределения задач, будут перенаправлены.
В связи с тем, что версии 1.x могут использоваться меньшим количеством пользователей, из-за исправления некоторых орфографических ошибок, названия интерфейсов изменились, и версия 2.0 не совместима с 1.x. Рекомендуется переместить задачи на версию 2.0. Прошу понимания.
"standard implementation through zookeeper" -> стандартное реализация через zookeeper -> стандартное реализация через Zookeeper
"interface names have changed" -> названия интерфейсов изменились -> названия интерфейсов были изменены
Также исправлены знаки препинания и грамматические ошибки:
"standard implementation through zookeeper, which ensures synchronization once per second, without affecting performance." -> стандартное реализация через Zookeeper, которая обеспечивает синхронизацию раз в секунду, не влияя на производительность.
"interface names have changed, and version 2.0 is not compatible with 1.x." -> названия интерфейсов были изменены, и версия 2.0 не совместима с 1.x.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )