TL;DR:您将如何为没有云的移动应用程序托管可扩展的后端(如果可能,除非它是迄今为止最好的方式),并保持其最便宜的方式。
我即将完成一个移动应用程序(首先是 Android,后来是 Iphone/Windows),它与 RESTFull Node.JS 后端交互,后面有 PostgreSQL。我目前正在使用 VPS 进行开发,但随后,我开始考虑生产。我显然不知道我的应用程序是否只会被 10 个朋友或数百万人使用(至少,这是秘密目标)。几点:
- 我不富有,有工作和家庭可以照顾,我显然不想在托管上花很多钱。最高 300 美元/月(至少在开始时)(如果申请是一场灾难,这是我能承受的损失)
- 我的应用通过网络传输内容(mp3、图片、视频)。他们中的大多数将是自托管的。这个内容应该是“可流式的”,我的意思是,我可以等待 2 秒到 5 秒让声音开始播放,但它应该在没有“跳跃”的情况下播放。
- 我显然害怕亚马逊云,因为我不知道我会从应用程序中赚到多少,而且如果我一无所获,我不想拥有 10K 美元的账单。
- 我知道如何拥有多个负载平衡的数据库和 Node.JS 服务器,我从未做过的是将一个集群复制到世界上的另一个集群以提高时间访问。
问题是:您将如何扩展这样的应用程序?只做一个集群并添加与负载进度匹配的数据库/NAS和前端服务器(我即将做的解决方案,因为它是我所知道的唯一一个(亚马逊AWS appart),但我害怕在外国大陆延迟或者你会去有多个位置集群,如果是,你会怎么做.我的意思是,我看不到,例如,你怎么能有一个 URL (例如: myapplication.com/api/mymethod) 知道如何去最近的簇。
我不想要的: - 如果有嗡嗡声并且服务器无法处理负载,则应用程序损坏。如果发生这种情况,用户将不会使用应用程序,因为它已损坏并且嗡嗡声会很快消失。- 意想不到的巨额账单。- 云这是此类应用程序的最佳方式。但实际上,它对我来说似乎是一个黑匣子,一旦获得流量就非常昂贵。
谢谢阅读!