Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用lua脚本同时在两台不同的服务器上编写haproxy检查?_Lua_Haproxy - Fatal编程技术网

如何使用lua脚本同时在两台不同的服务器上编写haproxy检查?

如何使用lua脚本同时在两台不同的服务器上编写haproxy检查?,lua,haproxy,Lua,Haproxy,我有两台服务器(A和B)用于同一后端,其中一台作为备份,但这些服务器依赖于另外两台服务器(A'和B')工作,每台服务器一台:如果服务器A启动,则可以使用服务器A;如果服务器A'启动,则可以使用服务器B,如果服务器B启动,则可以使用服务器B 现在,我不能告诉haproxy“如果服务器A已启动并且服务器A已启动,则使用服务器A” 例: 如果A'关闭,我就不能再使用A了,但是haproxy不知道这些测试是怎么回事(我真的不需要后端条,它只是为了说明问题所在)。。。出于不同的原因,我无法使用特定路径从测

我有两台服务器(A和B)用于同一后端,其中一台作为备份,但这些服务器依赖于另外两台服务器(A'和B')工作,每台服务器一台:如果服务器A启动,则可以使用服务器A;如果服务器A'启动,则可以使用服务器B,如果服务器B启动,则可以使用服务器B

现在,我不能告诉haproxy“如果服务器A已启动并且服务器A已启动,则使用服务器A”

例:

如果A'关闭,我就不能再使用A了,但是haproxy不知道这些测试是怎么回事(我真的不需要后端条,它只是为了说明问题所在)。。。出于不同的原因,我无法使用特定路径从测试中检查服务器a:

backend foo
        option httpchk GET /url_on_A_which_checks_A'
        server A 10.99.98.97:8001 check inter 10s rise 2 fall 5..
我想知道lua是否有可能在考虑服务器“启动”之前测试两个不同的服务器?我不想在前端部分对每个传入请求进行测试,例如(性能问题)

我想象的是:

backend foo
        option lua.check
        server A 10.99.98.97:8001 lua.check inter 10s rise 2 fall 5..
请求a上的端口8001和lua中的端口8001。请检查

对不起我的英语


谢谢

如果您需要检查多台服务器以进行健康检查,有一个技巧可以使用外部检查。该技巧的基本总结是进行外部检查,然后调用haproxy stats套接字并检查不同后端服务器的运行状况检查

下面是我编写的一个示例,它使用外部运行状况检查来检查所有同名服务器的状态。请注意,有两个后端仅用于进行健康检查,例如,它们未连接到任何前端:

有关外部检查的更多信息,请参阅:



另一方面,如果您可以妥协,并且对所依赖的服务器只进行一次运行状况检查,那么您可能希望使用该选项。但是,如果您希望进行多个运行状况检查,这并不能解决您的问题。

如果您需要检查多个服务器以进行运行状况检查,可以使用外部检查的技巧。该技巧的基本总结是进行外部检查,然后调用haproxy stats套接字并检查不同后端服务器的运行状况检查

下面是我编写的一个示例,它使用外部运行状况检查来检查所有同名服务器的状态。请注意,有两个后端仅用于进行健康检查,例如,它们未连接到任何前端:

有关外部检查的更多信息,请参阅:


另一方面,如果您可以妥协,并且对所依赖的服务器只进行一次运行状况检查,那么您可能希望使用该选项。但是,如果您想进行多次健康检查,这并不能解决您的问题

backend foo
        option lua.check
        server A 10.99.98.97:8001 lua.check inter 10s rise 2 fall 5..