Zipkin 是一个分布式跟踪系统。它有助于收集解决服务体系结构中的延迟问题所需的时序数据。功能包括该数据的收集和查找。
如果在日志文件中有跟踪ID,则可以直接跳至该跟踪ID。否则,你可以基于诸如服务,操作名称,标签和持续时间之类的属性进行查询。将为你汇总一些有趣的数据,例如服务中花费的时间百分比以及操作是否失败。
Zipkin UI还提供了一个依赖关系图,该关系图显示了每个应用程序中跟踪了多少个请求。这对于识别包括错误路径或对不赞成使用的服务的调用在内的汇总行为可能会有所帮助。
应用程序需要被 "仪器化 "才能向Zipkin报告跟踪数据。这通常意味着配置一个跟踪器或仪器库。最流行的向Zipkin报告数据的方式是通过http或Kafka,尽管还有许多其他选项,如Apache ActiveMQ、gRPC和RabbitMQ。提供给用户界面的数据被存储在内存中,或者通过支持的后端(如Apache Cassandra或Elasticsearch)进行持久化存储。