Speaker
Oleg Iakushkin
(Saint-Petersburg State University)
Description
Независимые компоненты, взаимодействующие между собой при помощи комплексного управления, делают работу сложных распределенных вычислительных систем плохо масштабируемой в рамках имеющегося промежуточного коммуникационного программного обеспечения. Можно выделить две основные проблемы масштабирования таких систем: перегрузка неравноценных узлов из-за равномерного перераспределения нагрузки и сложности в реализации продолжительного взаимодействия нескольких узлов системы.
В данной работе мы рассмотрели новый подход к перераспределению потоков сообщений, передаваемых между узлами. Основной технологической особенностью предлагаемого решения является применение бизнес логики системы для перераспределения нагрузки. Другими словами, решение о перенаправлении каждого нового сообщения принимается исходя из анализа имеющихся в системе ресурсов, будь то счетчики производительности или другие системы мониторинга. C точки зрения горизонтального масштабирования основной особенностью разработанной нами коммуникационной платформы является возможность расширения набора существующих шаблонов взаимодействия между узлами системы. Например, традиционный шаблон «Запрос-Ответ», описывающий разовое взаимодействие, может быть расширен до продолжительного управления одного узла другим. Необходимо отметить, что благодаря распределению нагрузки с применением бизнес логики конечной сервисной системы, использующей коммуникационную прослойку, такой шаблон взаимодействия узлов может корректно участвовать в распределении нагрузки между узлами системы.
В работе проведено детальное сравнение разработанной системы с точки зрения производительности и отказоустойчивости с такими системами как ZeroMQ и RabbitMQ. Показаны особенности работы с шаблонами взаимодействия узлов, не описанными в традиционных средствах коммуникации.
Работа выполнена при частичной поддержке гранта СПбГУ 9.37.157.2014, гранта СПбГУ 0.37.155.2014, гранта СПбГУ 9.38.674.2013, гранта РФФИ № 13-07-747. Исследования были проведены с использованием вычислительных ресурсов Ресурсного Центра "Вычислительный центр СПбГУ" (http://cc.spbu.ru).
Primary authors
Oleg Iakushkin
(Saint-Petersburg State University)
Prof.
Valerii Grishkin
(Staint Petersburg State University)