Тема: Разработка технологии моделирования взаимодействия распределенных реестров и приложений с использованием платформы контейнеризации
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Постановка задачи 5
Обзор литературы 6
Глава 1. Система моделирования 7
1.1. Моделирование работы узлов приложения 7
1.2. Моделирование сетевых взаимодействий 8
1.3. Распределение нагрузки на узлы кластера 10
Глава 2. Программный интерфейс описания и запуска модели 11
2.1. Общие принципы организации API 11
2.2. Описание узлов приложения и логической структуры сети 11
2.3. Настройка динамической маршрутизации 12
2.4. Создание виртуальных локальных сетей 13
2.5. Запуск и остановка модели 13
Глава 3. Пользовательский интерфейс мониторинга и управления моделью 14
3.1. Обзор пользовательского интерфейса системы моделирования 14
3.2. Управление качеством работы виртуальной сети 15
3.3. Программный интерфейс подсистемы мониторинга 16
3.4. Пользовательский интерфейс подсистемы мониторинга 18
Глава 4. Демонстрация работы системы 20
4.1. Подготовка приложения для использования в системе 20
4.2. Описание моделей, используемых в тестировании 21
4.3. Ход тестирования приложения 22
4.4. Результаты тестирования 23
Выводы 25
Заключение 28
Список литературы 28
📖 Введение
Вне зависимости от используемого в распределённой системе алгоритма организации совместной работы и разбиения нагрузки, её узлы будут использовать сетевые соединения для координации рабочего процесса. При разработке такой системы необходимо обеспечить её тестирование с учётом логической структуры и различных возможных состояний физической сети, поверх которой должно будет работать приложение. (Под логической структурой сети здесь имеется в виду способ объединения узлов в группы, используемый для организации её работы) Проведение такого тестирования связано с большими трудностями, однако, если проигнорировать его и предположить все узлы напрямую соединёнными между собой идеальной сетью, то даже успешное тестирование приложения сможет гарантировать его правильную работу в реальных условиях только при нормальном состоянии сети и не позволяет оценить влияние на него проблем сетевого плана.
Так, для децентрализованных сервисов, построенных на платформе Ethereum, было показано, что изменение скорости передачи сообщений между узлами может повлиять на соотношение их мощностей при майнинге [5]. Для другой распределёной системы, предполагавшейся защищённой по свой архитектуре криптовалюты “Bitcoin” [6], существуют доказательства проведения успешных атак, основанных на манипуляциях с протоколами динамической маршрутизации пакетов в глобальной сети, поверх которой работает система [7].
Данная работа описывает основанную на технологии контейнеризации систему симуляции распределённых систем MADT ("Modeling and Analysys of Distributed Technologies"), обеспечивающую возможность тестирования их работы при изменяющемся поведении сети и анализа влияния логической структуры сети на такие системы. Система моделирует работу узлов системы и логическую структуру нижележащей сети и позволяет динамически манипулировать качеством её работы. В качестве вычислительных ресурсов для моделирования система может использовать как одну машину, так и кластер, таким образом позволяя моделировать работу систем со значительным (более 1000) количеством узлов. Для сравнения, количество полноценных узлов во всей сети Bitcoin оценивается как 10000 [8]. Для доступа к информации, получаемой в ходе тестирования, была реализована система мониторинга, визуализирующая данные, генерируемые моделью, в реальном времени и с учётом структуры сети, позволяя соотносить изменения в работе сети с изменениями в поведении системы и упрощая планирование дальнейшего направления тестирования.
В качестве демонстрации работы созданной системы симуляции был проведён анализ поведения узлов DHT Kademlia при нарушении работы сети, в ходе которого были обнаружены временное замедление работы всей сети при отключении одного узла, продолжение работы отсечённого от остальной сети набора узлов и невозможность переподключения узла после кратковременного нарушения его соединения с остальной сетью, что вместе позволяет владельцу физической сети разделять глобальную сеть DHT Kademlia на локальные участки посредством кратковременных нарушений передачи сообщений.
✅ Заключение
Тестирование с помощью MADT может быть полезным в нескольких случаях. Прежде всего, оно может помочь повысить скорость разработки новых распределённых систем, позволяя заранее находить проблемы при работе приложения с сетью и упрощая проведение стресс-тестирования. Другим возможным применением системы является анализ защищённости распределённых приложений относительно атак сетевого плана, возможный благодаря наличию возможности динамически регулировать качество работы отдельных сегментов сети и поддержке моделирования протоколов динамической маршрутизации. Кроме того, возможность моделирования работы разных технологий поверх сетей произвольной логической структуры делает возможным использование MADT для бенчмаркинга распределённых систем в специфических условиях. Это может значительно упростить пользователям выбор распределённой системы, подходящей для их условий.





