体系结构拓扑


体系结构拓扑

现在让我们回顾一些常见的部署配置。

具有单个节点的集群管理器

在这个部署中,我们只需要部署一个带有数据库的集群管理器实例和一个Compute Server节点。这适用于小型环境,这样您就可以将简单的优化任务卸载到一个Compute Server上。

多个节点的集群管理器

如果需要同时处理更多的作业,则需要添加更多的Compute Server节点。此外,如果您想运行分布式算法,则需要几个分布式Worker节点。为此,您可以部署集群管理器的一个实例(带有数据库),并将这些节点连接到集群管理器。

可伸缩集群管理器

如果您有更多的并发用户,或者您需要一个可伸缩和高可用性的体系结构,那么可以启动Cluster Manager的几个实例。在这种情况下,您可能需要安装和设置一个常规的HTTP负载均衡器(例如Nginx)在集群管理器实例前面。Cluster Manager服务器实例是无状态的,可以向上或向下伸缩。

数据库本身可以部署在集群中。在MongoDB或DocumentDB集群中,一个节点被动态地选择为主节点,而其他节点被视为次要节点。辅助节点从主节点复制数据。如果主节点出现故障,Cluster Manager将自动重新连接到一个新的主节点并继续运行。

该部署场景下,建议部署数个计算服务器节点。如果某个节点发生故障,当前在故障节点上运行的任何作业都将失败,但新的作业将继续在其余节点上处理。

\ scalebox {1.0} {\ includegraphics(宽度= 7.5){图形/ csgraphics / csmanager_scalable}}

自我管理的集群

最后,Compute Server节点和Distributed Worker节点可以自己部署,而不需要集群管理器或数据库。这实际上是Gurobi版本8和更早版本的唯一选择。在此配置中,您将无法从最新的特性中获益:使用用户帐户和API键的安全访问、持久的作业历史记录、批处理管理和Web用户界面。

\ scalebox {1.0} {\ includegraphics(宽度= 4){图形/ csgraphics / cscluster}}