我在2个tomcats前面有一个Apache Web服务器,它连接到同一个MySQL后端数据库。
我需要根据名为“projectid”的URL参数对两个tomcats之间的传入请求进行负载均衡。例如,所有偶数项目ID都可以使用tomcat 1和奇怪的请求与tomcat 2一起提供。
这是必需的,因为用户可以在tomcat 1的项目中启动作业,tomcat 2将不知道这些作业,并且这些作业当前未存储在数据库中。
有没有办法使用mod-proxy-load-balancing实现这个目标?
答案 0 :(得分:0)
我不知道这样的加载算法已经存在。但是,请记住,最常见的负载平衡结果(特别是当您显然具有服务器端状态时)是一个粘性会话:您只是在平衡初始请求。之后,所有请求通常都会定向到同一台服务器。
我通常建议不要分发会话数据,因为它会在每个请求中添加一些常见的不必要的性能,从而抵消了群集可以提高的性能。这在实际安装中可能会有所改变,只是第一个经验法则。
您可以使用mod-proxy-load-balancing创建自己的负载均衡算法(您需要在配置文件中配置算法),但我相信您花时间更好地修复实施或实施业务特定逻辑,用于检查所有群集计算机是否正在运行作业。