Отметки времени сообщения Кафки для запроса / ответа - PullRequest
0 голосов
/ 11 февраля 2019

Я создаю инструмент мониторинга производительности, который работает в кластере с темами Kafka.

Например, я отслеживаю две темы: request, response.Т.е. мне нужно иметь две метки времени - одну от request и другую от response.Затем я могу рассчитать разницу, чтобы увидеть, сколько времени провел в службе, которая получила запрос и произвела ответ.

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

Кроме того, я не могу надежно использовать часы самого инструмента мониторинга, поскольку это повлияет на результаты синхронизациисвоими собственными временами обработки.

Итак, я хотел бы разработать правильный способ, который будет надежно рассчитывать разницу во времени.Какой самый надежный способ измерить разницу во времени между двумя событиями в Кафке?

1 Ответ

0 голосов
/ 15 февраля 2019

Решение 1 :

Ранее у нас была похожая проблема, и решением было настройка NTP (сетевой протокол времени).

В этом вашем узле вы выполняете роль NTP-сервера и запускаете демоны, чтобы синхронизировать время между всеми вашими узлами. UTC и все другие узлы имеют NTP-клиентов, которые сохраняют одинаковое время на всех серверах

Решение 2 :

Создайте общий API часов для всех ваших компонентов, которые будут обеспечивать текущее время.Это сделает вашу систему независимой от локальных часов узла.

...