我目前正在构建一个小型Node.js网站,我想在Azure上托管它。我想问一下,我是否应该将应用程序的前端和后端部分分成两个不同的Azure网站,或者只是将整个应用程序放入一个Azure网站插槽中。
我认为分成两部分的原因可能是有道理的,因为我不仅要从相应的网站访问后端部分,还要从其他部分(例如移动应用程序)访问后端部分。我认为在此设置中更新前端部分也意味着Backend API的停机时间。
另一方面,两个网站使得从前端查询后端变得更加困难(硬编码的URL,socket.io不能再轻松设置等等)。
你会在我的案例中推荐什么?
非常感谢。
答案 0 :(得分:0)
ExpressJS Socket.io 一些数据库 客户端上的jquery / serverSide上的cheerio(DOM解析)
没有任何使用Azure的经验..切换到Linux! 可以访问您的应用程序,数据,应该是非常重要的,并且应用程序是围绕这些内容构建的。
答案 1 :(得分:0)
Azure网站支持为您的网站http://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/
创建暂存部署这意味着,当您更新前端时,您不必担心后端的停机时间,因为您可以在暂存环境中更新前端,然后更新前端准备部署您只需交换登台和生产环境,所有请求立即重定向到您网站的更新版本,无需停机。
答案 2 :(得分:0)
Zain是正确的,因为您可以在Azure网站中创建插槽并交换它们以防止停机。例如,您可以创建临时插槽和生产槽,并将更新推送到暂存。一旦对舞台工作正常感到满意,你就可以用现场交换舞台,理论上现场插槽应该没有停机时间。
那说,这取决于你的预算。具有插槽的Azure应用程序的成本不超过一个。如果您想要便宜并且不关心自定义域之类的东西,请使用两个免费网站,这将解决您的问题。否则,为了将所有内容保持在一起,我可能只需将它们组合起来并支付更高的价格,但这取决于您的应用程序的工作方式。
如果价格不是问题,我会问自己:“从前端查询后端有多难?”如果这将是一个痛苦,并使一个简单的应用程序过于复杂,你可能想要结合应用程序和使用部署插槽(请参阅此处获取更多信息:https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/)