我正在自学构建集群的 Java EE 7 应用程序。我专注于Glassfish Server v4.0。
根据官方文档(第 7 章第 133 页),Glassfish 可以使用 Apache Http 服务器使用 mod_jk 进行负载平衡。我正在阅读一些有关 glassfish 的聚类架构的信息,这可以通过以下两张图片来解释:(
第二张图片取自以下书籍)
我的问题是:
在这种情况下安装 Apache 的通常位置在哪里?它是安装在域管理服务器所在的同一台机器上还是安装在它自己的单独机器上?
管理控制台不需要使用 Apache LB 层。
您可以为 URL 的一个 Apache 实例添加 DNS 条目,然后使用它对可用节点进行负载平衡。
更常见的生产情况是使用 LB(例如 F5)或基于软件的 LB 与 Apache 层通信,然后 Apache 节点可以使用最适合该情况的任何协议代理到应用程序服务器节点。例如,Apache 层可以提供静态内容并添加缓存,或者运行一些安全模块。
另一个考虑是避免让应用程序服务器与网络服务器层位于公共 IP 的同一子网层。
从技术上讲,您可以出于开发目的将事物放在同一台机器上,只需使用不同的端口运行应用程序服务器的两个实例,等等。