体系结构拓扑
体系结构拓扑
现在让我们回顾一些常见的部署配置。
具有单个节点的集群管理器
在这个部署中,我们只需要部署一个带有数据库的集群管理器实例和一个Compute Server节点。这适用于小型环境,这样您就可以将简单的优化任务卸载到一个Compute Server上。
多个节点的集群管理器
如果需要同时处理更多的作业,则需要添加更多的Compute Server节点。此外,如果您想运行分布式算法,则需要几个分布式Worker节点。为此,您可以部署集群管理器的一个实例(带有数据库),并将这些节点连接到集群管理器。
可伸缩集群管理器
如果您有更多的并发用户,或者您需要一个可伸缩和高可用性的体系结构,那么可以启动Cluster Manager的几个实例。在这种情况下,您可能需要安装和设置一个常规的HTTP负载均衡器(例如Nginx
)在集群管理器实例前面。Cluster Manager服务器实例是无状态的,可以向上或向下伸缩。
数据库本身可以部署在集群中。在MongoDB或DocumentDB集群中,一个节点被动态地选择为主节点,而其他节点被视为次要节点。辅助节点从主节点复制数据。如果主节点出现故障,Cluster Manager将自动重新连接到一个新的主节点并继续运行。
该部署场景下,建议部署数个计算服务器节点。如果某个节点发生故障,当前在故障节点上运行的任何作业都将失败,但新的作业将继续在其余节点上处理。
最后,Compute Server节点和Distributed Worker节点可以自己部署,而不需要集群管理器或数据库。这实际上是Gurobi版本8和更早版本的唯一选择。在此配置中,您将无法从最新的特性中获益:使用用户帐户和API键的安全访问、持久的作业历史记录、批处理管理和Web用户界面。