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