Twitter открыл код распределенного трассировщика веб-приложений Zipkin
В основе Zipkin лежит идея, предложенная разработчиками Google для трассировщика Google Dapper. Система работает с реальными запросами, сгенерированными пользователями, однако трассировке подвергаются не все запросы. Компонент системы, установленный на одном из-серверов фронтэндов, выбирает один из запросов и помечает его с помощью специально сгенерированного ключа, который передается вместе с запросом всем остальным сервисам, участвующим в обработке. Получив такой ключ, сервис, с помощью специальной подключаемой библиотеки, генерирует трассировочную информацию и отправляет ее головному серверу Zipkin. В ходе обработки запроса информация со всех сервисов собирается на головном сервере и помещается в базу данных. Результат трассировки можно проанализировать с помощью веб-интерфейса, который включает в себя список всех участвующих в обработке запроса сервисов и временную шкалу с отображением времени ответа того или иного сервиса.
Zipkin позволяет проследить обработку запросов вплоть до отдельных выборок из базы данных и обращений к memcached. Однако, чтобы это стало возможном нужны изменения в инфраструктуре веб-приложения. Код, опубликованный Twitter, включает в себя набор библиотек, позволяющий подключить Zipkin к приложениям, написанных с использованием RPC-библиотеки Finagle, Ruby-клиента, фреймворка Apache Thrift, Scala-библиотеки для работы с SQL БД Querulous и клиентской библиотеки для no-SQL БД Сassandra Cassie.
Источник: http://www.opennet.ru/opennews/art.shtml?num=34051
|
0 | Tweet | Нравится |
|