route_select

This escaper chooses the next escaper by applying a weighted pick policy.

The following egress path selection value is supported:

  • string id

    If matched, the escaper in next_nodes whose name matches the ID string is used.

    The escaper named ID must be present in next_nodes. You can set its weight to 0 to prevent it from being selected by default.

    Added in version 1.7.22.

No common keys are supported.

next_nodes

required, type: weighted metric node name | seq

Set the next escaper or escapers that may be selected.

Both a single weighted node and a sequence of weighted nodes are accepted.

next_pick_policy

optional, type: selective pick policy

Set the policy used to select the next escaper.

The key for ketama/rendezvous/jump hash is <client-ip>[-<username>]-<upstream-host>.

default: ketama

Example:

- name: select-egress
  type: route_select
  next_nodes:
    - name: primary
      weight: 10
    - name: canary
      weight: 1
    - name: pinned
      weight: 0
  next_pick_policy: ketama