Skip to content

Forwarder

A forwarder consists of one or more nodes (node group) and a node selector. Forwarders are mainly used to define target nodes and forwarding policies in port forwarding and reverse proxy.

Usage

Similar to hop, forwarders can be used in two ways: inline mode and reference mode.

Inline Mode

Node group and selector can be defined directly in the forwarder.

services:
- name: service-0
  addr: :8080
  handler:
    type: tcp
  listener:
    type: tcp
  forwarder:
    nodes:
    - name: target-0
      addr: 192.168.1.1:80
    - name: target-1
      addr: 192.168.1.2:80
    - name: target-2
      addr: 192.168.1.3:8080
    selector:
      strategy: round
      maxFails: 1
      failTimeout: 30s

Reference Mode

The forwarder can also reference hop through the forwarder.hop option. In reference mode, the target nodes can be dynamically updated with the help of the hop's external data source and plugin.

services:
- name: service-0
  addr: ":8080"
  handler:
    type: tcp 
  listener:
    type: tcp
  forwarder:
    hop: hop-0

hops:
- name: hop-0
  nodes:
  - name: target-0
    addr: 192.168.1.1:8080
  - name: target-1
    addr: 192.168.1.2:8080

Comments