Непрерывный мониторинг E2E с помощью SDK и поддержка обнаружения сервисов - PullRequest
0 голосов
/ 08 января 2020

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

Наша система запускает различные языковые тесты c наборов тестов для каждого узла данной роли. Каждый процесс тестирования просто получает IP-адрес целевого узла и некоторые значения и возвращает результаты теста в указанном формате c в качестве выходных данных.

Вопросы:

  • Какой термин подходит для такой системы ?
  • Существуют ли какие-либо известные решения, подобные этой?
  • Есть ли какие-либо передовые практики, которые мы можем использовать при переключении?

Simplified schema

Требуются следующие функции:

  • Веб-интерфейс для настройки, запуска выполнений и проверки результатов
  • Планируемые исполнения
  • Интеллектуальное оповещение
    ( что-то вроде «более 5 узлов провалили тест» или «3 прогона подряд провалили тесты»)
  • Языковая независимость c тесты
    (у нас есть SDK и вспомогательные библиотеки, использующие разные языки, который мы также тестируем)
  • Поддержка обнаружения пользовательских сервисов
    (в основном мы хотим предоставить конфигурацию теста с именем роли, а диспетчер должен получить список узлов)

Спасибо заблаговременно!

1 Ответ

1 голос
/ 15 января 2020

Ваша система заставила меня задуматься о шаблоне Scheduler Agent Supervisor .

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

1) Планировщик будет иметь то же значение, что и планировщик из вашей схемы

2) Агенты будут исполнителями вашей схемы. Обратите внимание, что приведенная ниже диаграмма является просто базовым c примером. Их может быть сколько угодно, и вы решаете, будут ли они делать это или они не будут общаться между собой.

3) Удаленные службы / ресурсы : в вашем случае они будут экземплярами, которые нужно было проверить. Это ресурсы, к которым ваши агенты будут обращаться.

4) Супервизор : Даже если вы не включили его в свою схему специально, а служба супервизора была бы немного более сложной. Вы можете думать в своем веб-интерфейсе как руководитель в вашей ситуации. Еще одна идея, которая у меня есть для вашего варианта использования, - возможно, разделить их Наличие как пользовательского интерфейса для настройки, так и супервизора, который следит за результатами теста и который также может взаимодействовать с внешним сервисом. Хотя на данный момент это может и не понадобиться, это даст вам много возможностей для будущих улучшений и развития.

enter image description here

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

...