Skip to content

Commit 18524f1

Browse files
committed
add anton credits for zero-downtime deployments
1 parent 2a1562c commit 18524f1

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

docs/docs/20230619-startup-shutdown-zero-downtime-deployments.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
# On graceful service startup and shutdown, and zero-downtime deployments
22

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)
44

55
---
66

77
This document explains the details of API service startup and shutdown behavior, in particular related to:
8+
- Zero-downtime deployments
89
- Proposer API
910
- 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
1212

1313
---
1414

15-
### TL;DR
15+
## TL;DR
1616

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):
1818
- On startup:
1919
- `/livez` is immediately available and positive, and will stay so until the service is shut down
2020
- `/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,
2727

2828
---
2929

30-
### Kubernetes background about health-checks
30+
## Kubernetes background about health-checks
3131

3232
There are three types of health-checks (probes): [k8s docs](https://kubernetes.io/docs/reference/using-api/health-checks/)
3333

@@ -55,7 +55,7 @@ There are three types of health-checks (probes): [k8s docs](https://kubernetes.i
5555

5656
---
5757

58-
### API Startup + Shutdown Sequence
58+
## API Startup + Shutdown Sequence
5959

6060
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.
6161

@@ -79,7 +79,7 @@ At this point, the pod is operational and can service traffic.
7979

8080
---
8181

82-
### Example k8s + AWS configuration
82+
## Example k8s + AWS configuration
8383

8484
```yaml
8585
metadata:
@@ -110,7 +110,7 @@ At this point, the pod is operational and can service traffic.
110110
111111
---
112112
113-
See also:
113+
## See also
114114
115115
- https://kubernetes.io/docs/reference/using-api/health-checks/
116116
- https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

0 commit comments

Comments
 (0)