你如何构建像Firebase这样的应用程序?

时间:2016-02-15 11:36:32

标签: web-applications architecture firebase load-balancing

假设您正在建立一个网站(类似Facebook)。您编写代码,将其部署在服务器上,并在负载增加时增加服务器。这些服务器位于负载均衡器后面,请求可以随机地发送到任何服务器。

但是,假设您正在制作类似Firebase的内容。现在,在firebase上,您可以创建application,然后获得子域<app_name>.firebase.com。虽然您的服务器代码对于所有应用程序仍然相同,但app1.firebase.com的请求将转到专用服务器集,与app2.firebase.com不同。因此,从一个应用程序加载,不应该影响另一个应用程序。

Firebase如何设计,更具体地说,为了限制问题的范围,请求如何路由到每个application的特定主机集?

1 个答案:

答案 0 :(得分:3)

通常,&#34; app&#34;当你调用它实际上是一个子域或虚拟主机。这是通过一些技术堆栈完成的。

首先,您需要子域的DNS记录。因此,app.somedomain.com必须具有可在互联网上解析的IP地址,并创建指向该子域的别名记录(或A记录)。完成后,您可以配置Web服务器,通常是apache或nginx,以通过所谓的虚拟主机处理子域。您应该查阅每种技术的特定文档,但对于apache服务器,它的最基本配置如下所示:

<VirtualHost *:80>
   ServerName app.somedomain.com
   ServerAdmin webmaster@app.somedomain.com
   DocumentRoot /var/www/app.somedomain.com/
</VirtualHost>