Leave Behavior

Leave Behavior

在consul agent被关闭时,有两种leave behavior:

  • 优雅关闭(Graceful Exit)。consul agent 在正常关闭的时候会向集群发送 leave 信令,宣告自己离开集群,确保其他节点立即知道自己的状态。
  • 强行移除(Force Removal)。当服务器由于网络或磁盘等硬件原因挂掉时,consul agent来不及通知集群。此时集群会主动探测到它的状态,并进行重试

Graceful Exit

对client的cli执行Ctrl + C操作,以停止其运行。在控制台上能看到Graceful exit字样

image-20211017095949200

此时查看consul UI,集群中只有server节点:

image-20211017100040396

Forceful removal

重新运行client。 执行netstat -ntlp,获取到consul的PID:

image-20211017100227828

强行杀掉consul进程:

kill -9 27848

-9 表示terminate immediately/hard kill,-2表示interupt process stream, ctrl-C

参考:https://unix.stackexchange.com/questions/317492/list-of-kill-signals

此时consul client被直接终止,不会通知到集群。所以集群会检测到该节点的异常状态:

image-20211017100611830

image-20211017100859203