首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通配符DNS,托管DNS或DNS服务器。

通配符DNS,托管DNS或DNS服务器。
EN

Server Fault用户
提问于 2011-10-17 09:06:13
回答 3查看 348关注 0票数 0

我正在建立一个网站,用户可以建立自己的网站。用户输入站点名(例如site1),并使用子域site1.example.com创建站点。目前,我已经将通配符DNS设置为站点创建的单个服务器。这是很好的工作,但没有足够的可伸缩性,以供今后使用。

我想要能够控制什么服务器是创建的网站。例如,site1是在server1上创建的,site2是在server2上创建的。我一直在研究几种解决方案。

  1. 设置我自己的DNS服务器,并在创建站点之前创建子域。
  2. 使用具有API的托管DNS服务器来创建域。
  3. 以某种方式使用IIS,以便我可以将通配符DNS重定向到服务器上托管的子域。

我更喜欢IIS解决方案,但在设置此解决方案时没有找到任何示例,甚至可能的话。

也许有一些开源或付费的解决方案可用。

EN

回答 3

Server Fault用户

发布于 2011-10-19 05:15:09

解决这个问题的方法有很多种,但是最好的解决方案取决于您的限制、环境、站点类型等。例如:

  • 单个服务器是否由于每个站点上内容的大小,或者由于所生成的负载/流量而无法处理所有站点?
  • 内容是以文件形式存储的,还是存储在数据库中?
  • 这些站点是否运行需要共享状态的应用程序?共享状态是否保存在内存中,还是保存在另一个服务器或服务器集群上?
  • 每个站点是否需要自己部署应用程序,或者应用程序是否支持多租户(基本上,它是否可以查看请求的主机名,并将其用作其站点??这是大多数多客户端托管的CMS/电子商务应用程序的工作方式)。
  • 一个站点是否会变得如此之大以至于无法由一个服务器来处理呢?

我假设您有一个“典型的”web应用程序,应用程序托管在web服务器中,会话状态存储在本地内存(许多平台的默认状态)和数据库中。我将假设存储在数据库中,并且您的应用程序支持多租户。

设置它的“典型”方法是有多个层:

  • 数据库层(非常强大的故障转移对、主/从系统或集群,取决于您的DB平台)
  • 会话状态层(可以存储在DB层、单独的DB、IIS会话状态服务器、memcached或类似的东西中)
  • 应用层(应用服务器-- IIS)
  • 负载平衡层(专用硬件、nginx、HAproxy等)

这方面有几个要点:

  • 任何应用服务器都能够处理对任何“站点”的请求(因为它都是相同的应用程序,并且它们都连接到同一个数据库)
  • 您的会话状态必须是共享的,并且对所有应用服务器都可用。
  • 您的数据库层必须能够处理来自所有应用服务器的同时访问负载。大多数人都会在不同的点上使用大量的缓存来完成这项工作。
  • 如果你的目标是高可用性,你需要有N+1容量:例如,如果你的峰值负载需要10个应用服务器,那么你应该至少有11个。
  • 很多时候,在一个大站点中,人们会将静态内容(图像、css等)卸载到另一台服务器,甚至是像Akami或Amazon这样的CDN。

设置非常灵活。您可以添加许多应用服务器。您可以独立地更改任何teir的设置。你没有单一的失败点(例如,你可以容忍失去一两台服务器而没有人注意到)。

即使你的应用程序不支持多租户,你也有几个选择:

  • 将每个站点部署到每个服务器(注意:这要求您有一种方法来保持所有文件的安装/更新同步,并且不在本地存储任何内容)
  • 将每个站点部署到每个服务器,但将内容存储在集中式(且冗余的) NAS或SAN上。
  • 有选择地部署站点,然后使用负载均衡器根据主机名将流量定向到适当的服务器。

看看StackExchange的设置,它实际上非常接近我刚才描述的内容:

票数 3
EN

Server Fault用户

发布于 2011-10-17 22:10:49

对此有多种解决方案。如何根据域静态地确定服务器目的地呢?例如,在创建"site12“之后,如果"site12”的哈希值为偶数,则为server1,否则为server2。

票数 0
EN

Server Fault用户

发布于 2014-10-11 05:51:26

您的问题是以编程方式创建DNS记录吗?

如果是这样,您可以使用NicTool。它有一个用于管理DNS的广泛API,并且可以与许多名称服务器一起工作。

免责声明:我在工作中使用NicTool,并建立了自动化系统,为我们节省了大量的成本。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/322088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档