我在stackoverflow上问了这个问题,但得到了很少的观点:
https://stackoverflow.com/questions/2284917/route-web-requests-to-different-servers-based-on-subdomain
也许它更适用于这群人.这是为了方便起见:
我有一个平台,用户可以使用子域创建新网站.将有数以千计的这些,例如abc.mydomain.com,def.mydomain.com.希望如果我们成功的数十万.
我需要能够将这些域路由到不同的IP以指向特定的应用服务器.我现在在数据库中有这个映射.
这里有哪些最佳实践和推荐技术?
我看到几个选项:
>使用通配符CNAME条目进行DNS设置,以便所有请求都转到单个IP,其中可能有两台使用heartbeat(用于故障转移)的计算机知道如何在数据库中查找IP,然后执行http重定向到相应的应用服务器.这对我来说似乎很笨拙而且很慢.
>运行我自己的可以以编程方式管理的DNS服务器,以便在创建新站点时添加DNS条目.我们还将站点移动到不同的应用服务器,因此我需要能够近乎实时地更新DNS条目.
想什么?
谢谢.
Update2:我已经设置了外部通配符DNS,指向一个HAProxy Web服务器,它的工作是将请求路由到后端服务器.映射存储在我们的内部PowerDNS服务器中.现在的问题是如何让HAProxy服务器(或其他)使用内部DNS的值而不是某些配置文件或访问列表? –
更新:根据下面的一些建议,似乎反向代理服务器是可行的方法.由于我将重新平衡域 – >服务器映射,这些需要立即工作,DNS解决方案上的TTL可能是个问题.考虑到这个域> IP数据使用的软件的任何建议都存储在数据库中,我需要这个是高性能吗?