毛剑-B站微服务链路监控实践.pdf

格式: pdf 页数: 24 文件大小: 1MB 侵权/举报
毛剑-B站微服务链路监控实践.pdf

毛剑-B站微服务链路监控实践.pdf

格式: pdf 页数: 24 文件大小: 1MB
毛剑-B站微服务链路监控实践.pdf 2017.thegiac.com www.top100summit.com bilibili分布式链路监控 毛剑 bilibili研发总监 2017.thegiac.com 设计目标 • 无处不在的部署 • 持续的监控 • 低消耗 • 应用级的透明 • 延展性 • 低延迟 2017.thegiac.com 分布式跟踪 参考Google Dapper 论文实现,为每 个请求都生成一个全局唯一的traceid, 端到端透传到上下游所有节点,每 一层生成一个spanid,通过traceid将不 同系统孤立的调用日志和异常信息 串联一起,通过spanid和level 表达节 点的父子关系; 核心概念: • Tree • Span • Annotation 2017.thegiac.com 跟踪树 在跟踪树结构中,树节点是整个架 构的基本单元,而每一个节点又是 对span的引用。虽然span在日志文件 中只是简单的代表span的开始和结束 时间,他们在整个树形结构中却是 相对独立的; 核心概念: • TraceID • SpanID • ParentID • Family & Title 2017.thegiac.com 跟踪Span • 追踪信息包含时间戳、事件、方法名(Family+Title)、注释(TAG/Comment) • 客户端和服务器上的时间戳来自不同的主机,我们必须考虑到时间偏差, RPC客户端发送一个请求之后,服务器端才能接收到,对于响应也是一样的 (服务器先响应,然后客户端才能接收到这个响应)。这样一来,服务器端 的RPC就有一个时间戳的一个上限和下限 ...