/testovoe

Primary LanguageC++

Здесь лежат три отдельных исполняемых файла, для того, чтобы сбилдить проект я с помощью vscode и расширения cmake tools просто через command pallete делал clean rebuild. Создастся папка с билдом как отдельная папка наравне с источниками(balancer, client, server).

Клиент и сервер - это просто чтобы проверить работоспособность балансировщика. Клиент запускается с аргументом - сколько раз в секунду он отправляет сообщения. Сервер запускается с аргументом - на каком он будет сидеть порте.

Файл конфигурации - любой файл(можно даже без расширения), но я по привычке с винды делал файлы конфигурации .txt. Выглядеть он должен как-то так:

config:

port=8888
servers=8889, 8890, 8891
N=10

лишние строки будут игнорироваться(будет выводиться предупреждение в консоль)

Путь к файлу конфигурации указывается как аргумент при запуске балансировщика.

Если запускать все три программы выглядеть это будет примерно так:

Балансировщик

~/testovoe/build/balancer/balancer ./config

Клиент

~/testovoe/build/client/client 5

Сервер

~/testovoe/build/server/server 8889

Прерываются работы всех трех программ сочетанием клавиш control+C

Распределяются пакеты при помощи системы round robin, по сути просто вне зависимости от работоспособности серверов на них отправляются пакеты по очереди (на первый, потом на второй, потом на третий и т.д.)