构建要在云中运行的应用程序/系统(例如AWS)时, 是否建议始终制作单用途实例?
例如,我应该有两个运行MySQL(master + slave)的实例,然后是两个Web服务器实例,而不是将web + MySQL合并到一个(可能更大的)实例中吗?
除了关注点之外,利弊是什么?
答案 0 :(得分:5)
为什么单一用途实例更好的主要原因是:
1)规模更容易。 (例如:只是扩大瓶颈而不是扩大整个堆栈)
2)它更安全(例如:您的MySQL数据库不在打开端口80的服务器上,因为它还需要接受您的http流量)
没有单一用途实例的唯一理由是价格。这需要花钱,对某些人来说太贵了。
如果您正在进行任何类型的电子商务,那么绝对使用单用途实例,因为大多数安全标准(例如PCI-DSS)都需要它。如果您运行的内容网站没有任何电子商务组件,并且不接受用户的敏感数据,那么您可能会稍微省一些钱,但我不推荐它
答案 1 :(得分:1)
除了前端Web服务器之外,拆分数据库是标准建议。
以下是一些需要考虑的问题的好文章:
http://www.mysqlperformanceblog.com/2006/10/16/should-mysql-and-web-server-share-the-same-box/