我有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 Proxy中实现。
我已经尝试了httpd的websocket负载均衡设置,但没有成功。
更新:结论是httpd无法负载均衡TCP流量(Rserve使用TCP,虽然Rserve有启用websocket模式的选项,但我的用例不需要这个额外的层)。移至HAProxy进行负载均衡,并使用以下链接中的配置能够容错地负载均衡发送到Rserve的R脚本请求。