假设您正在建立一个网站(类似Facebook).您编写代码,将其部署在服务器上,并在负载增加时增加服务器.这些服务器位于负载均衡器后面,请求可以随机地发送到任何服务器.
但是,假设您正在制作类似Firebase的内容.现在在firebase上,您可以创建一个应用程序,并获得一个子域< app_name> .firebase.com.虽然您的服务器代码对于所有应用程序仍然相同,但对app1.firebase.com的请求将转到与app2.firebase.com不同的专用服务器集.因此,从一个应用程序加载,不应该影响另一个应用程序.
为了限制问题的范围,Firebase如何设计,更具体地说,如何将请求路由到每个应用程序的特定主机集?
解决方法
通常,调用它时的“app”实际上是子域或虚拟主机.这是通过一些技术堆栈完成的.
首先,您需要子域的DNS记录.因此,app.somedomain.com必须具有可在Internet上解析的IP地址,并创建指向该子域的别名记录(或A记录).完成后,您可以配置Web服务器,通常是apache或Nginx,以通过所谓的虚拟主机处理子域.您应该查阅每种技术的具体文档,但对于apache服务器,其最基本的配置如下所示:
<VirtualHost *:80> ServerName app.somedomain.com ServerAdmin webmaster@app.somedomain.com DocumentRoot /var/www/app.somedomain.com/ </VirtualHost>