我在这里阅读的大多数解决方案是在DNS级别支持每个用户的子域名,使用*.domain.com将所有内容指向一个IP.
这是一个简单而简单的解决方案,但如果我想将前1000个注册用户指向serverA,接下来的1000个注册用户指向serverB呢?这是我们在集群软件和硬件方面降低成本的首选解决方案.
alt text http://learn.iis.net/file.axd?i=1101 (引用自MS IIS网站的图表)
最合乎逻辑的解决方案似乎在Zone Datafiles中每个子域有1 x A-record.BIND似乎对区域数据文件没有任何大小限制,仅限于可用内存.
但是,由于创建新的子域包括插入新的A记录并重新启动DNS服务器,因此我的团队担心新的subdoamin准备就绪的延迟.
我们应该担心重启DNS服务器的性能吗?
先感谢您.
更新:
似乎大多数人建议我使用反向代理设置:
alt text http://learn.iis.net/file.axd?i=1102
(ARR是IIS7的反向代理解决方案)
但是,这是我能看到的CONS:
单点故障
无法根据IP地理位置策略性地在不同位置设置服务器.
John Sheehan.. 7
使用通配符DNS条目,然后使用负载平衡在服务器之间分配负载,而不管它们是什么客户端.
在您使用它时,请跳过URL重写步骤,让您的应用程序根据输入的URL确定它所基于的帐户(您可以像在domain.com中一样轻松确定X.domain.com中的X. = X).
编辑:根据您的其他信息,您可能希望开发一个"代理",用于存储哪些客户端将访问哪些服务器.使公众面对然后从与代理存储的客户端相关联的资源中提取.您的前端可以进行负载平衡,然后您可以根据文件/数据库服务器来获取它们.
使用通配符DNS条目,然后使用负载平衡在服务器之间分配负载,而不管它们是什么客户端.
在您使用它时,请跳过URL重写步骤,让您的应用程序根据输入的URL确定它所基于的帐户(您可以像在domain.com中一样轻松确定X.domain.com中的X. = X).
编辑:根据您的其他信息,您可能希望开发一个"代理",用于存储哪些客户端将访问哪些服务器.使公众面对然后从与代理存储的客户端相关联的资源中提取.您的前端可以进行负载平衡,然后您可以根据文件/数据库服务器来获取它们.