在服务器场设置方面,我是个新手,但是我知道我想要做什么,并且有很好的理由,只是不知道该怎么做。
我有一个代码库(一个Web应用程序),我想运行在多个服务器(可能100)。 我想要一个1到1的子域映射到服务器,所以我有100%的控制权,哪些stream量去哪个服务器。
当我说“服务器”,我认为我的意思是“实例”,因为我不关心,如果他们是物理或虚拟服务器(应该是透明的,我的devise和工作方式)。
我怎样才能设置这易于维护和轻松添加/删除服务器? 我已经有了我的应用程序设置与服务器的数据库,每个服务器的人口/负载信息,路由和所有的乐趣…所以我不需要在应用程序/编程部分的帮助,只是Azure安装/维护部分。
更多信息:
如果它帮助find一个简单的答案,但仍然试图保持这个普遍的主题(希望不是太具体到我的确切需要,我觉得这是一个普遍的情况)。
我的具体是一个MMO棋盘游戏。 每个游戏都是独立的(没有跨游戏通信/统计/等)。 每个游戏一次不能包含超过100个活动玩家。 一台服务器可以处理1到100个游戏,但是每个游戏的所有玩家都需要连接到同一台服务器。 服务器将所有的游戏信息都保存在内存中(如果一个游戏重新开始游戏,游戏不会持续很长时间,如果玩家重新启动,游戏信息不会太大)。 所有服务器/实例将具有完全相同的游戏代码部署。
我将有一个login服务器,或可能多个,这个细节并不重要。 所有的login服务器需要做的是根据他们的login信息和他们想要join哪个游戏来决定向哪个服务器发送玩家。 要将播放器“发送”到该服务器,login服务器将把它们redirect到一个子域,例如“server1.mydomain.com”,“server2.mydomain.com”等。
因此,我认为我的一般问题,可能还是一个简单的问题仍然存在……我只是希望能够根据子域将stream量路由到不同的服务器,并让所有这些服务器共享相同的代码库。 我知道我可以做到这一点的方法,但不知道Azure的容易/好用。 我目前正在尝试一种方法,从一个git仓库部署更新,托pipe在Visual Studio在线,至less保持多个Web应用程序之间的代码库同步。 但是,部署每个更新需要30分钟以上(每个服务器需要大约10分钟的时间来重新构build,而当前使用的服务器数目是3个),如果最终有30个以上的服务器,则可能会非常慢。
如果您的目标是将服务器映射到站点,那么这只是一个脚本/编程问题。
您需要自动部署服务器和相应的子域。 所有这些都可以通过Azure完成。 您可以部署服务器并configurationDNS以指向其相应的IP地址。
可能最简单的方法是创build一个Azure资源pipe理器模板,它将创build您的azure色configuration,包括所需的任何服务器设置,然后使用Powershell或Azure命令行工具解决此问题。 由于ARM模板无法configurationDNS,因此您需要编写脚本。
最终,你会有一个脚本,通过您的数据库读取,并为每个条目去创build一个服务器,安装任何需要安装,configurationDNS然后重复下一个过程。
但是,我怀疑可能有一个更简单的方法来实现你的目标,例如你可能能够加载一个具有数百个子域的服务器,并让服务器决定哪里去。 但是,在能够进一步评论之前,我们需要更多关于您想要的结果的信息。