有没有办法通过ping测试来提高服务可用性



为了检查服务可用性,我们添加了ping测试,但它不检查应用程序的实际核心功能。它只是ping服务器并返回响应。

有没有什么方法可以让我们通过ping测试来检查服务核心功能是否正常工作?

在大多数情况下,您需要检查:

  • 数据库
  • API
  • 服务器

Ping测试通常只测试服务器。

测试后端最全面的方法是制作一个API,从数据库中读取值(无缓存(,通过这种方式,您将测试三个主要核心。但是这种方式对后端很重,尤其是当你有很多用户时(例如,如果你的应用程序上同时有10万用户,则会有10万个到DB的连接和10万个API请求/响应,这可能会使服务器对其他用户不可用(。

我克服这一点的方法如下:

  • 服务器上(不是DNS上(有一个公共的非常小的文件,该文件具有检查后端是否正常工作的最后时间/日期
  • 对于每个打开应用程序的用户,应用程序都会读取此文件
  • 如果它不能读取它,那么服务器肯定会停机
  • 如果应用程序可以读取文件,那么它将检查Current time - last check time > 1 minute,然后它将调用APICheckBackend,后者将检查所有内容并更新小文件
  • 通过这种方法,您将确保每分钟最多只进行一次完整检查,这对服务器来说并没有那么重

通常,应用程序从端口使用。您可以使用到IP:Port的telnet请求来代替ping。像这样:

telnet test.netbeez.net 20011

此外,您应该访问此处以获取更多信息https://netbeez.net/blog/telnet-to-test-connectivity-to-tcp/

最新更新