gpt4 book ai didi

r - 对 RServe 的 R 请求进行负载平衡

转载 作者:行者123 更新时间:2023-12-04 04:37:28 24 4
gpt4 key购买 nike

我有 6 个 Linux 机器运行 RServe 并提供相同的 R 脚本集。

192.168.0.1 : 6311
192.168.0.2 : 6311
...
...
192.168.0.6 : 6311

我使用 REngine(Rserve Java 客户端)从 java 连接到这些 Rserve。
RConnection rServeConnection = new RConnection(R_SERVE_SERVER_ADDRESS, R_SERVE_SERVER_PORT);

现在我该如何负载平衡呢?最好在 Apache Mod 代理中?

我尝试过使用 httpd websocket 负载平衡设置,但没有运气。

更新:结论 httpd 不会负载平衡 TCP 流量(Rserve 使用 TCP,虽然 Rserve 中有选项可以启用 websocket 模式,但我的用例不需要那个额外的层)。移动到 HAProxy 以使用以下链接中的配置进行负载平衡,并且能够负载平衡进入 Rserve 的具有容错能力的 R 脚本请求。

HAProxy Loadbalancing TCP traffic

最佳答案

我不确定这是否可以通过 Apache mod_proxy 实现。我认为它只适用于 HTTP 协议(protocol)。也许您可以尝试使用 nginx 进行概念验证。支持普通 TCP 和 UDP 连接的负载均衡。它还允许您定义负载平衡方法(例如循环法等)。

配置将是:

stream {
upstream myapp1 {
server 192.168.0.1:6311;
server 192.168.0.2:6311;
...
server 192.168.0.6:6311;
}

server {
listen 80;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass backend;
}
}

您可以在 nginx 文档中找到更多信息:
https://www.nginx.com/resources/admin-guide/tcp-load-balancing/和这里:
https://nginx.org/en/docs/stream/ngx_stream_core_module.html

关于r - 对 RServe 的 R 请求进行负载平衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38479130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com