Linkerd 2.10(Step by Step)—配置重试

简介: Linkerd 2.10(Step by Step)—配置重试

重试



对于幂等且没有主体的路由,您可以编辑服务配置文件(service profile)并将 isRetryable 添加到可重试路由:


spec:
  routes:
  - name: GET /api/annotations
    condition:
      method: GET
      pathRegex: /api/annotations
    isRetryable: true ### ADD THIS LINE ###


重试预算



retry budget 是一种机制,它限制可以对服务执行的重试次数占原始请求的百分比。这可以防止重试使您的系统不堪重负。默认情况下,重试最多可以增加 20% 的请求负载(加上每秒额外的 10 次“免费”重试)。可以通过在您的 service profile 上设置 retryBudget 来调整这些设置。


spec:
  retryBudget:
    retryRatio: 0.2
    minRetriesPerSecond: 10
    ttl: 10s


监控重试



可以使用带有 --to 标志和 -o wide 标志的 linkerd viz routes 命令来监视重试。由于重试是在客户端执行的,我们需要使用 --to 标志来查看一个资源发送到 另一个资源的请求的指标(从服务器的角度来看,重试只是常规请求)。当指定这两个标志时,linkerd routes 命令将区分“有效(effective)”和“实际(actual)”流量。


ROUTE                       SERVICE   EFFECTIVE_SUCCESS   EFFECTIVE_RPS   ACTUAL_SUCCESS   ACTUAL_RPS   LATENCY_P50   LATENCY_P95   LATENCY_P99
HEAD /authors/{id}.json     authors             100.00%          2.8rps           58.45%       4.7rps           7ms          25ms          37ms
[DEFAULT]                   authors               0.00%          0.0rps            0.00%       0.0rps           0ms           0ms           0ms


实际请求代表客户端实际发送的所有请求,包括原始请求和重试。有效请求只计算原始请求。由于原始请求可能会触发一次或多次重试, 因此在启用重试时,实际请求量通常高于有效请求量。由于原始请求可能第一次失败,但该请求的重试可能会成功, 因此有效成功率(effective success rate) 通常(但不总是)高于实际成功率(actual success rate)。

相关文章
|
Prometheus Cloud Native 数据可视化
Linkerd 2.10(Step by Step)—4. 如何配置外部 Prometheus 实例
Linkerd 2.10(Step by Step)—4. 如何配置外部 Prometheus 实例
149 0
|
JSON Kubernetes 安全
Linkerd 2.10(Step by Step)—多集群通信
Linkerd 2.10(Step by Step)—多集群通信
281 0
Linkerd 2.10(Step by Step)—多集群通信
|
存储 数据可视化 应用服务中间件
Linkerd 2.10(Step by Step)—使用 Linkerd 进行分布式跟踪
Linkerd 2.10(Step by Step)—使用 Linkerd 进行分布式跟踪
236 0
Linkerd 2.10(Step by Step)—使用 Linkerd 进行分布式跟踪
|
JSON Kubernetes 监控
Linkerd 2.10(Step by Step)—2. 自动化的金丝雀发布
Linkerd 2.10(Step by Step)—2. 自动化的金丝雀发布
180 0
Linkerd 2.10(Step by Step)—2. 自动化的金丝雀发布
|
Kubernetes API 容器
Linkerd 2.10(Step by Step)—使用请求跟踪调试 gRPC 应用程序
Linkerd 2.10(Step by Step)—使用请求跟踪调试 gRPC 应用程序
150 0
Linkerd 2.10(Step by Step)—使用请求跟踪调试 gRPC 应用程序
|
监控
Linkerd 2.10(Step by Step)—配置超时
Linkerd 2.10(Step by Step)—配置超时
121 0
|
Kubernetes Perl 容器
Linkerd 2.10(Step by Step)—优雅的 Pod 关闭
Linkerd 2.10(Step by Step)—优雅的 Pod 关闭
178 0
|
Kubernetes Java Linux
Linkerd 2.10(Step by Step)—配置代理并发
Linkerd 2.10(Step by Step)—配置代理并发
179 0
|
存储 Kubernetes API
Linkerd 2.10(Step by Step)—安装多集群组件
Linkerd 2.10(Step by Step)—安装多集群组件
181 0
|
Kubernetes 负载均衡 网络协议
Linkerd 2.10(Step by Step)—Ingress 流量
Linkerd 2.10(Step by Step)—Ingress 流量
198 0