Skip to content

Commit d4b5b1a

Browse files
bennosteinhubyrod
authored andcommitted
Add TCP health checks and idempotent self-registration for Skip services
1 parent 7b331b3 commit d4b5b1a

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

examples/hackernews/kubernetes/skip.yaml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,16 +48,23 @@ spec:
4848
4949
if [[ $id -eq 0 ]]; then
5050
export SKIP_LEADER=true
51-
echo "set server skip_control/leader addr $ip:8081 ; enable server skip_control/leader" | socat stdio tcp4-connect:haproxy-kubernetes-ingress:9999
51+
echo "set server skip_control/leader addr $ip port 8081 ; enable server skip_control/leader " | socat stdio tcp4-connect:haproxy-kubernetes-ingress:9999
5252
else
5353
export SKIP_FOLLOWER=true
5454
export SKIP_RESOURCE_PREFIX=follower$id
5555
export SKIP_LEADER_HOST=rhn-skip-0.rhn-skip.default.svc.cluster.local
56+
# Self-register both the control and event streaming server with the haproxy load balancer.
57+
# Calling 'set server' after 'add server' is redundant on initial scale-up, but necessary for subsequent scale-ups when a server of that name already exists.
58+
# Enabling HAProxy TCP health checks ensures that servers are taken out of rotation when the system scales down or instances crash/disconnect for other reasons.
5659
echo "\
57-
add server skip_control/follower$id $ip:8081 ;\
60+
add server skip_control/follower$id $ip:8081 check ;\
61+
set server skip_control/follower$id addr $ip port 8081 ;\
5862
enable server skip_control/follower$id ;\
59-
add server skip_stream/follower$id $ip:8080 ;\
60-
enable server skip_stream/follower$id\
63+
enable health skip_control/follower$id ;\
64+
add server skip_stream/follower$id $ip:8080 check ;\
65+
set server skip_stream/follower$id addr $ip port 8080 ;\
66+
enable server skip_stream/follower$id ;\
67+
enable health skip_stream/follower$id\
6168
" | socat stdio tcp4-connect:haproxy-kubernetes-ingress:9999
6269
fi
6370
npm start
@@ -77,5 +84,5 @@ spec:
7784
- wget
7885
- "--spider"
7986
- http://localhost:8081/v1/healthcheck
80-
initialDelaySeconds: 5
81-
periodSeconds: 5
87+
initialDelaySeconds: 1
88+
periodSeconds: 2

0 commit comments

Comments
 (0)