【发布时间】:2019-12-09 04:00:17
【问题描述】:
- 当我们运行无服务器应用程序时,比如 beanstalk、danymoDB 和 一个 SNS,每个 JVM 中会有三个 XRay 守护进程,对吧?
- 如果是这样,XRay 如何从头到尾跟踪请求? 跟踪 ID 将与 http 请求标头或类似的东西一起使用?
【问题讨论】:
标签: aws-xray
【问题讨论】:
标签: aws-xray
根据文档,“AWS X-Ray 守护程序是一个软件应用程序,它侦听 UDP 端口 2000 上的流量,收集原始分段数据,并将其中继到 AWS X-Ray API。该守护程序与AWS X-Ray 开发工具包并且必须正在运行,以便开发工具包发送的数据可以到达 X-Ray 服务。”
请务必注意,X-Ray SDK 会生成所谓的远程子分段,以客户端方式模拟下游的结果。对于像 DynamoDB 这样的服务,您会看到这一点。对于 SNS 之类的东西,跟踪标头信息通过 Http 标头传播。 X-Ray Daemon 用于转发服务收到上游请求时生成的段; DynamoDB 还没有这样做,SNS 通过提到的跟踪头转发它。
守护进程不是 JVM 的一部分;它是在将跟踪数据转发到服务的实例中运行的外部进程。从技术上讲,它可以由单个实例、同一个实例或所有实例运行。
【讨论】: