Повторно ввести команду `ВРЕМЯ` Команда в режиме кластера

#go #redis #cluster-computing

#Вперед #redis #кластерные вычисления

Вопрос:

Мне нужно использовать TIME Command в Redis, но я нахожусь в режиме кластера. Теперь мой вопрос заключается в том, что является источником времени, которое я получаю из ответа системы в режиме кластера?

Спасибо.

Комментарии:

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

2. Какой сервер? У меня есть 20 главных узлов и другие…

3. есть ли у вас отдельный часовой пояс для каждого узла?

4. Нет, тот же часовой пояс, но важно, чтобы разница во времени составляла менее 10 мс

Ответ №1:

Я нашел ответ, мне нужно использовать синхронизацию времени между серверами, и я подумал использовать Redis **TIME** Command , но теперь, после некоторых исследований, я думаю, что NTP может решить мою проблему.

Для поддержания синхронизации NTP требуется разница во времени менее 128 мс между сервером и клиентом. Типичная точность в Интернете колеблется примерно от 5 мс до 100 мс, возможно, варьируясь в зависимости от задержек в сети

Ответ №2:

Если важна точность между узлами, вам действительно следует запустить локальный NTP-сервер где-нибудь очень близко к ним.

Это дает общую идею — https://ubuntu.com/server/docs/network-ntp [google для ntp и ваших операционных систем]

Сделайте один узел своим сервером локального времени и синхронизируйте с вашим предпочтительным поставщиком NTP в Интернете [google для поиска известных серверов ntp]

Синхронизируйте ваши локальные узлы с созданным вами локальным временным узлом ntp. Это должно обеспечить задержку выше 1 мс в зависимости от вашей инфраструктуры.

Все ваши локальные узлы должны находиться на расстоянии нескольких мс друг от друга и с одинаковым отличием от сетевого источника.