You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/20230619-startup-shutdown-zero-downtime-deployments.md
+9-9
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,20 @@
1
1
# On graceful service startup and shutdown, and zero-downtime deployments
2
2
3
-
2023-06-19, by [@metachris](https://twitter.com/metachris)
3
+
2023-06-19, by [@metachris](https://twitter.com/metachris), [@0x416e746f6e](https://github.com/0x416e746f6e)
4
4
5
5
---
6
6
7
7
This document explains the details of API service startup and shutdown behavior, in particular related to:
8
+
- Zero-downtime deployments
8
9
- Proposer API
9
10
- Needing data before being able to handle `getPayload` requests (known validators)
10
-
- Draining getPayload and other requests before shutting down
11
-
- Zero-downtime deployments
11
+
- Draining requests before shutting down
12
12
13
13
---
14
14
15
-
###TL;DR
15
+
## TL;DR
16
16
17
-
- We've added two endpoints: `/livez` and `/readyz` (per [k8s docs](https://kubernetes.io/docs/reference/using-api/health-checks/)):
17
+
- We've added two endpoints: `/livez` and `/readyz` (per [k8s docs](https://kubernetes.io/docs/reference/using-api/health-checks/)) in [#472](https://github.com/flashbots/mev-boost-relay/pull/472):
18
18
- On startup:
19
19
-`/livez` is immediately available and positive, and will stay so until the service is shut down
20
20
-`/readyz` starts negative, until all information is loaded to safely process requests (known validators for the proposer API)
@@ -27,7 +27,7 @@ This document explains the details of API service startup and shutdown behavior,
27
27
28
28
---
29
29
30
-
###Kubernetes background about health-checks
30
+
## Kubernetes background about health-checks
31
31
32
32
There are three types of health-checks (probes): [k8s docs](https://kubernetes.io/docs/reference/using-api/health-checks/)
33
33
@@ -55,7 +55,7 @@ There are three types of health-checks (probes): [k8s docs](https://kubernetes.i
55
55
56
56
---
57
57
58
-
###API Startup + Shutdown Sequence
58
+
## API Startup + Shutdown Sequence
59
59
60
60
The proposer API needs to load all known validators before serving traffic, otherwise, there's a risk of missed slots due to `getPayload` not having all the information it needs to succeed.
61
61
@@ -79,7 +79,7 @@ At this point, the pod is operational and can service traffic.
79
79
80
80
---
81
81
82
-
###Example k8s + AWS configuration
82
+
## Example k8s + AWS configuration
83
83
84
84
```yaml
85
85
metadata:
@@ -110,7 +110,7 @@ At this point, the pod is operational and can service traffic.
0 commit comments