5

我计划在 Amazon EC2 上部署我的 Web 应用程序(基于 ASP.Net)并在 Amazon RDS 上部署持久性。我有一种“直觉”,至少我的会话存储(再次在 RDS 上)应该与应用程序数据库的其余部分分开。这是因为我期待会话存储中的高活动。

RDS 支持在单个实例上创建多个数据库的能力。但是,我想知道采用单独的实例是否明智,或者单独的数据库是否足够好。我知道期望这样的可扩展性需求有点为时过早,但这更多是从规划的角度来看,因为稍后为正在运行的应用程序切换会话状态服务器可能会造成破坏。

此外,还有一点需要注意的是,拥有 2 个小型实例看起来比将小型实例扩展到大型实例更便宜(准确地说是 4 倍)。最后,是否有任何可用于规划的推荐实践(用于云数据库)?

4

1 回答 1

2

我将研究会话存储的其他可能性,例如。memcached 或类似类型的内存存储。但是,如果您绝对必须将会话存储在真实数据库中,那么在同一个实例上拥有两个数据库与在数据旁边拥有一个会话表并没有什么不同。数据库存储的问题是每个页面视图(检索然后存储会话)的繁重网络请求成本,而不是表的放置。

至于更大的实例,它们不仅更好,因为它们有更多的内存来适应更大的数据集,而且更重要的是,它们有更好的网络和磁盘 I/O。因此,即使是 10 个小型实例也无法让您摆脱其中一个的 I/O 瓶颈。

于 2012-01-29T15:42:53.897 回答