-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtopology-api.sample.yaml
More file actions
79 lines (79 loc) · 1.62 KB
/
topology-api.sample.yaml
File metadata and controls
79 lines (79 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
source:
type: topology_api
ref: https://topology.internal.example/api/v1/topology
services:
- id: frontend
name: frontend
replicas: 2
support:
observations: 2
evidence:
- topology_api
- service_registry
labels:
team: web
- id: checkout
replicas: 3
failure_eligible: true
labels:
team: commerce
placements:
- replicas: 2
labels:
region: us-east-1
az: us-east-1a
node_pool: blue
- replicas: 1
labels:
region: us-east-1
az: us-east-1b
node_pool: green
shared_resource_refs:
- kafka-orders
- id: payment
edges:
- from: frontend
to: checkout
kind: sync
blocking: true
id: frontend|checkout|sync|true
weight: 0.9
resilience:
request_timeout_ms: 2000
retry:
max_attempts: 3
budget_cap: 1.5
retry_on:
- 5xx
- gateway-error
- timeout
backoff:
initial_ms: 50
max_ms: 500
multiplier: 2
circuit_breaker:
enabled: true
max_pending_requests: 1024
observed:
latency_ms:
p50: 40
p90: 120
p95: 250
p99: 900
error_rate: 0.02
policy_scope:
source_endpoint_id: frontend:GET /checkout
method: GET
source_route: /checkout
- from: checkout
to: payment
kind: async
endpoints:
- entry_service: frontend
method: GET
path: checkout
predicate_ref: catalog.frontend.checkout.success
- entry_service: checkout
method: POST
path: /process
weight: 0.6