我们有一个使用 asio 构建的定制应用程序,它同时使用 TCP 和 UDP。我们已将应用程序部署到 AWS 并使用网络负载均衡器。网络 LB 正在使用 TCP 执行健康检查,但是我们的健康检查失败。
我必须写什么代码来确保健康检查不会失败。我知道在 HTTP 的情况下我只会回复 200 但是我不确定在 TCP 的情况下该怎么做。
我们有一个使用 asio 构建的定制应用程序,它同时使用 TCP 和 UDP。我们已将应用程序部署到 AWS 并使用网络负载均衡器。网络 LB 正在使用 TCP 执行健康检查,但是我们的健康检查失败。
我必须写什么代码来确保健康检查不会失败。我知道在 HTTP 的情况下我只会回复 200 但是我不确定在 TCP 的情况下该怎么做。
为了提高 UDP 服务健康检查的准确性,可以配置服务监听健康检查端口来跟踪您的 UDP 服务的状态,如果服务不可用则关闭健康检查端口。
根据文档,健康检查端口必须正在侦听才能认为目标是健康的。确保目标 SG 中的 NLB 运行状况检查端口已打开,并且这些端口处于 LISTENING 状态。可选,但建议关闭端口以防 UDP 服务失败。 下面介绍如何在 linux 中打开端口 下面介绍如何配置脚本以侦听端口。
最好有一个脚本来监听您的健康检查端口,该端口检查 UDP 服务的状态并在服务不可用时关闭连接。