Бригада разрабов Twitter огласила о публикации начальных слов системы распределенной трассировки интернет-прибавлений Zipkin, используемой снутри фирмы для раскрытия узеньких мест в труде обслуживания. Zipkin дозволяет мерить прыть отделки запросов покупателей в огромных распределенных интернет-прибавлениях, собирая статистику скорости ответа с всякого участвующего в отделке запроса составляющая. Код опубликован перед лицензией Apache 2.0 и подключает в себя комплект библиотек, реализацию сервера Zipkin и интернет-интерфейс.
В базе Zipkin лежит мысль, предложенная разрабами Google для трассировщика Google Dapper. Система действует с настоящими запросами, сгенерированными юзерами, но трассировке подвергаются никак не все требования. Составляющую системы, поставленный на одном из-серверов фронтэндов, избирает Вотан из запросов и отмечает его с поддержкою умышленно сгенерированного ключа, кой передается совместно с запросом всем оставшимся сервисам, участвующим в отделке. Получив таковой ключ, сервис, с поддержкою особой подключаемой библиотеки, генерит трассировочную информацию и посылает ее головному серверу Zipkin. В ходе отделки запроса информация со всех сервисов намеревается на головном сервере и вмещается в основание этих. Итог трассировки разрешено проверить с поддержкою интернет-интерфейса, кой подключает в себя перечень всех участвующих в отделке запроса сервисов и временную шкалу с отражением медли ответа такого либо другого обслуживания.
Zipkin дозволяет изучить отделку запросов вплоть по отдельных выборок из базы этих и обращений к memcached. Но, чтоб наверное стало вероятном необходимы конфигурации в инфраструктуре интернет-прибавления. Код, опубликованный Twitter, подключает в себя комплект библиотек, дозволяющий включить Zipkin к прибавлениям, прописанных с внедрением RPC-библиотеки Finagle, Ruby-покупателя фреймворка Apache Thrift, Scala-библиотеки для работы с SQL БД Querulous и клиентской библиотеки для no-SQL БД Сassandra Cassie.