У меня есть сетевая архитектура, состоящая из 5 серверов, работающих в кольцевой компоновке: односторонняя связь между ними. Я обнаружил, что мне нужно синхронизировать время на этих серверах и не могу найти способ сделать это в одном способе связи. Причина, по которой я хочу синхронизировать часы, - это возможность измерять время прохождения между каждым из серверов. Я добавлю, что серверы находятся в разных доменах. есть ли способ сделать это? благодарит заранее всех помощников.Синхронизация тактовых импульсов серверов в кольцевом шаблоне
ответ
Если вы ждёте поездку в ночное время (из комментария), почему бы просто не сохранить временные метки, как есть, и измерить, когда он вернется, чтобы запустить сервер?
EDIT:
Одно решение было бы запустить его два круга, то вы можете рассчитать время прохождения круга.
s1: 0 s2: 4 s3: 100 s1: 101 s2: 103 s3: 104
Тогда вы можете узнать, что в первом круге s2 медленно разностной проверки s2lap1 и s2lap2.
Поскольку я хочу знать время между каждым сервером для мониторинга изменений и аномалий, возможно, на одном сервере есть проблема, которая заставляет его работать медленнее, и из-за этого вся поездка туда и обратно задерживается. –
Одним из решений было бы запустить его на два круга, тогда вы могли бы рассчитать время круга. s1: 0 s2: 4 s3: 100 s1: 101 s2: 103 s3: 104 Тогда вы можете узнать, что в первом круге s2 медленно разностной проверки s2lap1 и s2lap2. –
Существует нет такой вещи, как сеть с односторонней связью. Возможно, вы используете однонаправленный протокол для какого-либо приложения, но сама сеть должна быть способна к двунаправленной связи. Термин «Время в пути» неоднозначно. 'ping' даст вам время в оба конца для ICMP-пакета. Пакеты TCP добираются туда, когда они туда добираются, если они не переживают своих пределов TTL, но сколько времени потребуется, зависит от сетевой нагрузки. Однонаправленные UDP-пакеты могут иметь что-то, что вы могли бы назвать «временем в пути» ... о чем именно вы говорите? Что ты пытаешься сделать? –
Прежде всего спасибо за помощь. Я хочу измерить время, которое требуется на пакет tcp с определенным размером (скажем, около 1 КБ), чтобы перейти с одного сервера на другой. Я не могу использовать ping или что-то подобное, потому что сообщение однонаправлено. –
Вы правы Я хотел сказать, что я использую пакет udp, я добавлю время, которое потребовалось к пакету, и отправьте его на следующий сервер, пока я не совершу туда и обратно. –