迁移到负载平衡环境需要进行代码级别更改吗?

use*_*540 8 coldfusion load-balancing coldfusion-10

我的客户希望转移到ColdFusion负载平衡环境,以获得更好的站点可用性和可伸缩性.我知道如何在ColdFusion Admin中设置集群和实例.我们还应该使用J2EE会话管理来进行粘性会话.

但我不确定从单个服务器迁移到负载平衡环境时需要进行其他代码级别更改.

任何有经验的人都建议吗?或任何有用的链接.

小智 1

跳过您一定会喜欢的会话范围问题,我将重点关注不太常见的代码级别策略。

您将拥有 2 个以上独立的应用程序范围。这给同步性带来了挑战。检查应用程序代码以写入应用程序范围。如果某些情况需要更新应用程序范围的值,则该值必须反映在所有同级应用程序范围中。

要知道每个实例都有自己的 onApplicationStart() 和 onApplicationEnd() 事件。根据代码中发生的情况,它可能会导致恶作剧。

负载均衡时要注意 FuseBox(框架)之类的东西。FuseBox 在本地生成不会在其他服务器实例上复制的文件。

在记录日志、通过电子邮件发送错误等时,请使用实例标识符,以便您知道正在使用哪个服务器。

如果您的应用程序需要请求的原始 IP 地址,您可能需要在负载均衡器中启用 X-Forwarded-For HTTP 标头。否则,您可以在每次请求时获取负载均衡器的 IP。

验证每个实例上的相同:

  • 安全实施
  • ColdFusion 和 Java 版本
  • 数据源
  • 映射
  • 虚拟目录
  • 共享资源位置..
  • CF 管理员设置:站点范围的错误处理等。
  • CF账户权限,重要!

考虑使用 ColdFusion 服务器管理器来帮助一致性。;)