Ты постоянно должен делать запросы а-ля GET /health с каждого сервера на каждый, чтобы в случае чего оперативно сменить балансировочный (хотя в этом случае балансировочный вообще нафиг не нужен).
Вы поймите, C++ - это язык, на котором можно написать практически всё, при этом он максимально приближен (на сколько это возможно для используемого уровня абстракции) к устройству CPU.
ВСЕ ОК => DateEnd корректен, но, затем переходим в метод Update