对于具有大量大规模部署实践经验的 DBA 来说,这是一个问题。
我们正在尝试构建一个延迟非常低的应用程序。(我们真的想创造最好的用户体验,在这种情况下延迟很重要。)
该应用程序基本上是一个查询数据库 (OrientDB) 的 RESTful Node.js 服务器。静态内容/文件托管在其他地方。对象主要在客户端转换为 UI。
我们计划使用 Amazon EC2 来托管 Web 服务器和数据库。
高可用性也很重要。
目前,成本不是主要的决定因素。
你会推荐什么架构?
这里有2个选项,也许还有更多:
将 Web 服务器(在本例中为 Node.js)放在与数据库相同的 EC2 实例上。我们将有多个这样的实例来实现可用性和负载平衡。过去,我用它来减少大容量的延迟,但这些系统不必大幅扩展。也是在安置组之前。
或者,在与 REST Web 服务器不同的实例上拥有数据库。
背景
数据库大小约为 50 GB,我们需要更好的解决方案。预计流量将在 8 个月内达到该数量的 10 倍(500 GB 数据库)。
它大约是 20% 的写入和 80% 的读取。现在每秒大约有 1000 个查询,而且这个速度还在增加。