我正在build立一个网站,用户可以build立自己的网站。 用户input一个网站名称(比如站点1),该站点使用子站点site1.example.com创build。 目前,我已经将通配符DNS设置到站点创build的单个服务器。 这工作正常,但不足以将来使用的可扩展性。
我希望能够控制该网站创build的服务器。 例如,site1在server1上创build,site2在server2上创build。 我一直在寻找一些解决scheme。
我更喜欢IIS的解决scheme,但没有find任何设置这个例子,如果这甚至是可能的。
也许有一些开源或付费解决scheme可用。
有很多方法可以解决这个问题,但最好的解决scheme取决于您的局限性,环境,网站types等。例如:
我假设你有一个“典型的”Web应用程序,应用程序托pipe在一个Web服务器中,会话状态存储在本地存储器中(许多平台默认)和一个数据库。 我将假定存储位于数据库中,并且您的应用程序支持多租户。
设置这个“典型”的方法是有多个层次:
有几个关键点:
该设置非常灵活。 您可以添加大量的应用程序服务器。 您可以独立更改任何teir的设置。 你没有单点故障(例如,你可以容忍失去一个或两个服务器,没有人注意到)。
即使你的应用不支持多租户,你也有几个select:
看看StackExchange的设置 ,这实际上非常接近我刚刚描述的:

有多种解决scheme。 那么静态决定基于域的服务器目的地呢? 例如,在创build“site12”之后,如果“site12”的散列是偶数,那么它到达server1,否则到达server2。
您的问题是以编程方式创buildDNSlogging?
如果是这样,你可以使用NicTool。 它有一个用于pipe理你的DNS的广泛的API,可以和许多名字服务器一起工作。
免责声明:我在工作中使用NicTool,并且设置了自动化,为我们节省了大量成本。