:8884 {
	reverse_proxy {
		dynamic a foo 9000
	}

	reverse_proxy {
		dynamic a {
			name foo
			port 9000
			refresh 5m
			resolvers 8.8.8.8 8.8.4.4
			dial_timeout 2s
			dial_fallback_delay 300ms
		}
	}
}

:8885 {
	reverse_proxy {
		dynamic srv _api._tcp.example.com
	}

	reverse_proxy {
		dynamic srv {
			service api
			proto tcp
			name example.com
			refresh 5m
			resolvers 8.8.8.8 8.8.4.4
			dial_timeout 1s
			dial_fallback_delay -1s
		}
	}
}

----------
{
	"apps": {
		"http": {
			"servers": {
				"srv0": {
					"listen": [
						":8884"
					],
					"routes": [
						{
							"handle": [
								{
									"dynamic_upstreams": {
										"name": "foo",
										"port": "9000",
										"source": "a"
									},
									"handler": "reverse_proxy"
								},
								{
									"dynamic_upstreams": {
										"dial_fallback_delay": 300000000,
										"dial_timeout": 2000000000,
										"name": "foo",
										"port": "9000",
										"refresh": 300000000000,
										"resolver": {
											"addresses": [
												"8.8.8.8",
												"8.8.4.4"
											]
										},
										"source": "a"
									},
									"handler": "reverse_proxy"
								}
							]
						}
					]
				},
				"srv1": {
					"listen": [
						":8885"
					],
					"routes": [
						{
							"handle": [
								{
									"dynamic_upstreams": {
										"name": "_api._tcp.example.com",
										"source": "srv"
									},
									"handler": "reverse_proxy"
								},
								{
									"dynamic_upstreams": {
										"dial_fallback_delay": -1000000000,
										"dial_timeout": 1000000000,
										"name": "example.com",
										"proto": "tcp",
										"refresh": 300000000000,
										"resolver": {
											"addresses": [
												"8.8.8.8",
												"8.8.4.4"
											]
										},
										"service": "api",
										"source": "srv"
									},
									"handler": "reverse_proxy"
								}
							]
						}
					]
				}
			}
		}
	}
}