piy*_*ush 2 amazon-ec2 amazon-web-services
我计划运行一个Web应用程序,并期望大约100到200个用户的流量.
目前我在亚马逊上设置了单个小实例.该实例包括所有内容 - Web服务器(Apache),数据库服务器(MySQL)和IMAP服务器(Dovcot).我正在考虑将数据库服务器移出此实例并为其创建单独的实例.现在我的问题是 -
如果您希望扩展您的体系结构,则应将Web服务器与数据库服务器分开.
您将支付的低延迟(即使在多个可用区之间约为1-2ms)也会为您提供更好的性能,因为您可以单独扩展每个层.
您可以获得的另一个好处是可以提高数据库的安全性.如果您的数据库位于单独的实例上,则可以阻止从Internet访问它.您可以使用仅允许来自Web服务器的sql连接而不允许来自Internet的http连接的安全组.
此配置可以在常规EC2环境中运行,无需使用VPC.您当然可以为更多控制环境添加VPC,无需额外成本,也不会增加复杂性.
简而言之,为了实现可伸缩性和高可用性,您应该将您的层(Web和DB)分开.您可能也会发现自己也节省了成本.
当然,不同机器之间通信时会存在延迟。如果它们都位于同一可用区,则可用性会非常低,通常是同一 LAN 上的两台服务器所期望的。
如果它们位于同一区域的不同可用区,预计延迟约为 2-3 毫秒(根据 2012 年 AWS re:Invent 会议提供的信息)。这仍然相当低。
使用 VPC 不会影响延迟。这不会为您提供实例之间不同的物理连接,而只是虚拟隔离。
最后,考虑使用 Amazon 的 RDB(关系数据库服务)而不是 MySql 数据库的专用 EC2 实例。成本差不多,亚马逊会打理家务。
| 归档时间: |
|
| 查看次数: |
4742 次 |
| 最近记录: |