如果两个相关的 java 服务具有不同的 'probability' 值会怎样?
What happens if two dependent java services have different 'probability' value?
我在链中有两个服务(S1、S2)。我用 CURL(或 Postman)调用 S1,S1 向 S2 发送请求。
S1 有 - spring.sleuth.sampler.probability: 0.1
S2 有 - spring.sleuth.sampler.probability: 0.5
我不明白系统的行为方式。
如果我发送 100 个请求:
- S1 将导出到 zipkin 100 * 0.1 = 10 个请求,S2 将导出 10 * 0.5 = 5 个请求?
或
- S1 将导出到 zipkin 100 * 0.1 = 10 个请求,S2 将导出 100 * 0.5 = 50 个请求?
或
- S1 和 S2 将导出到 zipkin 0.1 * 0.5 * 100 = 5 个请求?
如果 S1 向 S2 发送请求,则由 S1 设置采样器值,而 S2 只是继续结果。换句话说,S1 将导出到 zipkin 100 * 0.1 = 10 个请求,而 S2 将导出 100 * 0.1 = 10 个请求。 S1做出决定,S2继续。
我在链中有两个服务(S1、S2)。我用 CURL(或 Postman)调用 S1,S1 向 S2 发送请求。
S1 有 - spring.sleuth.sampler.probability: 0.1
S2 有 - spring.sleuth.sampler.probability: 0.5
我不明白系统的行为方式。
如果我发送 100 个请求:
- S1 将导出到 zipkin 100 * 0.1 = 10 个请求,S2 将导出 10 * 0.5 = 5 个请求?
或
- S1 将导出到 zipkin 100 * 0.1 = 10 个请求,S2 将导出 100 * 0.5 = 50 个请求?
或
- S1 和 S2 将导出到 zipkin 0.1 * 0.5 * 100 = 5 个请求?
如果 S1 向 S2 发送请求,则由 S1 设置采样器值,而 S2 只是继续结果。换句话说,S1 将导出到 zipkin 100 * 0.1 = 10 个请求,而 S2 将导出 100 * 0.1 = 10 个请求。 S1做出决定,S2继续。