Определение того, какой пакет / обновление поступил первым между двумя машинами - PullRequest
0 голосов
/ 17 октября 2019

У меня есть две отдельные виртуальные машины AWS, настроенные в пределах региона (разные зоны доступности), оба подключены через WebSocket (в Python) к другому распределителю нагрузки (Cloudfront) того же хост-сервера (также размещенного на AWS) и получаютчастые небольшие полезные нагрузки WebSocket - каждые 5 мс.

Примечание: я не являюсь владельцем хост-сервера, я просто на принимающей стороне.

Обе машины получают одинаковые обновления, и я хотел бы измеритьна какой машине обновления / полезные нагрузки / пакеты поступают первыми

По сути, я хотел бы выяснить, какой балансировщик нагрузки "ближе" к хосту и, следовательно, имеет минимальные издержки при передаче сигнала со времени моего приложенияочень чувствителен к задержке.

Я пытался использовать системные часы для получения меток времени поступления данных, однако не гарантируется, что время двух экземпляров синхронизировано с соответствующей точностью.

1 Ответ

0 голосов
/ 17 октября 2019

следуйте этому.

  1. Отправьте запрос в балансировщик нагрузки с телом запроса, содержащим метку времени, когда он был отправлен на сервер. Вы можете легко сделать это, используя API DateTime вашего любимого языка.

  2. После того, как этот пакет прибудет на ваш внутренний сервер, расположенный в вашем экземпляре (это может быть простой сервер узлов или сервер rails)Вы можете получить этот запрос и сравнить его с текущей отметкой времени.

  3. Вы можете сделать это на обоих серверах и легко сравнить, что было быстрее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...