新达达的服务端是一个庞大的、分布式的、微服务化的系统,每时每刻系统之间都有着海量的RPC请求(指广义上的RPC,包括REST接口调用、JDBC等,下同)。在搭建系统的初期,我们仅仅对各个系统的访问日志进行了监控。这样的监控可以让我们发现某个系统是否出现了系统错误(表现如响应了HTTP 500状态码),但是在大多数情况下,我们无法快速定位到出现问题的系统,因为存在如下情况: