1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-sia-task

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

О нас

  • Общение по электронной почте: sia.list@creditease.cn

  • Отправка issue:

  • Общение в WeChat:

Платформа микросервисного распределения задач

Руководство пользователя
Руководство разработчика
Руководство по развертыванию
Пример

Обзор

Как интернет-приложения, так и корпоративные приложения часто содержат множество задач по обработке данных. Для решения этих задач требуется система распределения задач. По мере перехода от монолитных архитектур к распределенным и микросервисным, многие существующие системы распределения задач уже не удовлетворяют потребностям бизнеса. Поэтому были созданы новые распределённые системы распределения задач. Однако эти системы имеют недостатки, такие как отсутствие поддержки композиции задач, высокий уровень сложности и недостаточная масштабируемость.

SIA-TASK — это интегрированное решение для планирования задач. Оно собирает метаданные задач и затем визуализирует и распределяет задачи. Распределённые задачи мониторятся на всём протяжении процесса. После простой и гибкой конфигурации можно сгенерировать идеальную модель планирования задач.SIA-TASK собирает метаданные всех исполнителей и загружает данные в реестр. Задачи распределяются онлайн с использованием JSON, где HTTP используется как протокол. Центр распределения анализирует временной сигнал, выполняет задачи и отправляет уведомления о задачах.

Ключевые термины

  • Задача (Task): базовый исполняющий модуль и HTTP-вызовной интерфейс;
  • Задание (Job): минимальная единица распределения, составленная из одного или нескольких (последовательных/параллельных) задач;
  • План (Plan): составление нескольких последовательных заданий без периода выполнения;
  • Распределитель (Scheduler): отправляет HTTP-запросы на основе логики планов, заданий и задач;
  • Конфигурация (Config): создаёт планы и задания с помощью задач;
  • Исполнитель (Executer): принимает HTTP-запросы и выполняет бизнес-логику;
  • Hunter: расширяемый пакет Spring, отвечающий за сбор задач в исполнителях, загрузку метаданных в реестр, бизнес может зависеть от этого компонента для создания задач.Характеристики платформы для управления задачами микрослужб

  • Автоматическое получение задач на основе аннотаций. Добавьте аннотацию @OnlineTask к методу HTTP. Аннотация @OnlineTask автоматически получает и отправляет IP-адрес, порт, путь запроса и формат параметров запроса в реестр (ZooKeeper), а также записывает информацию в постоянное хранилище. Этот метод является задачей;
  • Независимый от кода многопоточный контроль с использованием аннотаций. Одиночный экземпляр задачи должен работать в одном потоке. Контроллер задач автоматически перехватывает аннотацию @OnlineTask для управления одним потоком и гарантирует, что выполняющаяся задача не будет заново расписана. Весь процесс незаметен для разработчика.
  • Самоадаптивное расписание задач. При возникновении ошибок выполнения задачи можно заново активировать её на основе пользовательских стратегий, обеспечивая непрерывное выполнение задачи.
  • Гибкая конфигурация задач. Концепция SIA-TASK заключается в группировании нескольких логически связанных задач в одну работу. Распределитель задач и центр конфигурирования задач работают независимо друг от друга. Центр конфигурирования позволяет организовать задачи последовательно, параллельно или как ветвление. Экземпляры одной и той же задачи могут расписываться различными способами.Особенности

  • Автоматическое получение задач на основе аннотаций. Добавьте @OnlineTask к методу HTTP. Аннотация @OnlineTask автоматически получает и отправляет IP-адрес, порт, путь запроса и формат параметров запроса в реестр (ZooKeeper), а также записывает информацию в постоянное хранилище.
  • Независимый от кода многопоточный контроль с использованием аннотаций. Распределитель задач автоматически перехватывает @OnlineTask для управления одним потоком и гарантирует, что выполняющаяся задача не будет заново расписана. Процесс полностью незаметен для разработчика.
  • Самоадаптивное расписание задач. При возникновении ошибок выполнения задачи можно заново активировать её на основе пользовательских стратегий, обеспечивая непрерывное выполнение задачи.
  • Гибкая конфигурация задач. SIA-TASK предназначен для объединения нескольких логически связанных задач в одну работу. Распределитель задач и центр конфигурирования задач работают независимо друг от друга. Центр конфигурирования позволяет организовать задачи последовательно, параллельно или как ветвление. Экземпляры одной и той же задачи могут расписываться различными способами.
  • Дизайн платформы микросервисной задачевой распределённой системы

SIA-TASK состоит из пяти основных компонентов:* Задачевой исполнитель

  • Распределитель задач
  • Организатор задач
  • Регистрационный центр задач (zookeeper)
  • Устойчивое хранение данных (MySQL)

SIA-TASK включает следующие компоненты:

  • Исполнитель
  • Распределитель
  • Конфигурация
  • Регистрационный центр (Zookeeper)
  • Устойчивое хранилище данных (MySQL)

Логическая архитектура

Основные принципы работы SIA-TASK:

  1. Выявление аннотированных задач в задачевом исполнителе и отправка их в регистрационный центр задач
  2. Организатор задач получает данные из регистрационного центра задач, организует их и сохраняет в устойчивом хранилище данных
  3. Распределитель задач получает информацию о распределении из устойчивого хранилища данных
  4. Распределитель задач обращается к задачевому исполнителю согласно логике распределения

Основные принципы работы SIA-TASK:

  1. Выявление и отправка аннотированных задач в регистрационный центр
  2. Конфигурация получает данные из регистрационного центра для распределения и устойчивого хранения данных
  3. Распределитель получает данные из устойчивого хранилища данных
  4. Распределитель обращается к задачевому исполнителю согласно логике распределения

Логическая архитектура

Предварительный просмотр UI

Главная страница предоставляет многомерный мониторинг.* Информация о распределителе: отображает информацию о распределителе (способность к нагрузке, предупреждающие значения) и распределение работ.

  • Информация о распределении: отображает частоту запуска распределителя, метрики работ и метрики задач.
  • Статистика проектов: статистика используемых систем проектов, количество работ, количество задач и т. д.

Главная страница

  • Распределитель: способность к нагрузке, предупреждающие значения и распределение работ
  • Распределение: частота запуска распределителя, метрики работ и метрики задач
  • Активные пользователи: количество работ и задач активных пользователей

Главная страница

Мониторинг распределения обеспечивает реальное время мониторинг уже субмитированных работ.

  • Реальное время мониторинг состояния работ: панель по группам проектов, отображает состояние выполнения работ.
  • Реальное время корреляция журналов: можно использовать окрашенные значки состояния для реального времени корреляции журналов.

Мониторинг распределения: реальное время мониторинг уже субмитированных работ.

  • Реальное время мониторинг работ: метрики выполнения работ по группам проектов
  • Реальное время корреляция журналов: можно использовать окрашенные значки состояния для реального времени корреляции журналов.Мониторинг распределения

Управление задачами: предоставляет операции над метаданными задач.

  • Ввод метаданных задач: вручную вводимые задачи могут быть введены здесь.
  • Тестирование связности задач: предоставляется тестирование связности задач.
  • Другие операции над метаданными задач: редактирование, удаление.

Управление задачами: операции с метаданными задач

  • Ввод метаданных: введите метаданные для ручных задач
  • Тестирование соединений: проведите тестирование соединений задач
  • Изменение и удаление

Управление задачами Управление задачами

Управление работами: предоставляет операции, связанные с работами
  • Управление работами: выполняйте управление работами.
  • Развертывание работ: создание, изменение и развертывание работ.
  • Настройка последовательностей: предоставляется настройка работ, имеющих временные зависимости.

Управление работами: операции с работами

  • Конфигурация задач: конфигурирование работ
  • Выпуск работ: создание, изменение и выпуск работ
  • Настройка последовательностей: настройка временно зависимых работ

Управление работами

Управление журналами

Управление журналами

Управление работамиОткрытый доступ

Дополнительные замечания

О компиляции кода

  • Рекомендуется использовать JDK версии 1.8 или выше, рекомендован JDK 1.8 или более позднюю версию.

Информация о версии

  • Рекомендуется версия 1.0.0, рекомендован SIA-TASK 1.0.0.

Информация о правах использования

  • Используется лицензия Apache v2.0, SIA-TASK использует Apache 2.0.

Другие материалы

Ссылки на открытые продукты SIA:

(Дополняется)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-sia-task.git
git@api.gitlife.ru:oschina-mirror/mirrors-sia-task.git
oschina-mirror
mirrors-sia-task
mirrors-sia-task
master