是否值得使用单独的MySQL服务器?


8

一个类似的问题变成了这里的意见汤:所以也许对此没有“正确”的答案,但我想向社区咨询。

我的客户即将发布电视广告。他们预计下个月将有7位数部门的访问量。我的工作是确保服务器不会跌落。

我的问题:是否值得将MySQL数据库拆分到单独的服务器上,该服务器仅为数据库提供服务。然后,我想拥有多个包含代码库和服务apache的服务器,并与数据库框连接。全部将是虚拟容器。

我不(想)我想使用多个数据库服务器-似乎会引入不必要的复杂性和潜在的错误/瓶颈。

我错了吗?欢迎对此有一些经验的看法。谢谢。

Answers:


16

我们在商店面临高流量的几个实例中使用了单独的MySQL服务器。有很多好处

  1. 可以调整专用数据库服务器以适应与Web服务器不同的MySQL的特定需求
  2. 在需要时很容易将第二台(负载均衡的)数据库服务器添加到集群中
  3. 当数据库崩溃时,它不会使前端崩溃,因此您可以显示体面的警告或错误页面。

当Magento用Varnish或任何其他FPC扩展正确缓存时,主要瓶颈将是我所经历的数据库。您的数据库将需要真正的力量。这样,您可以从相对较小的Web服务器开始,然后在数据库服务器上进行更多投资。


13

安全:

除了Sander的答案外,我还要补充一点,在PCI合规性的某些级别上,这是一个要求

单独的Web服务器和数据库服务器CHD大量存储在数据库中,使其成为攻击者的高价值目标。独立的数据库服务器意味着可以严格控制访问(有限的访问)。PCI DSS的第1节要求。

资料来源:http : //www.focusonpci.com/site/index.php/PCI-101/technical-requirements.html

通过分离Web和数据库职责,您可以限制访问范围。通常,您的数据库位于网络的专用网段中,并且无法公开访问。

还建议在Web / db之间的PCI中建立静态VPN连接,强烈建议在网络设备上进行入侵检测。万一遭到破坏,数据库将被隔离,VPN连接将终止,即使您的应用程序和加密密钥现在受到破坏,对数据存储的访问也已被锁定并且无法访问。

高可用性/灾难恢复:

桑德的观点就在这里。去投票给他。我还要补充一点,即使是一个很小的维护任务,例如进行文件系统备份或数据库转储,您的数据库最多只能在一段时间内被限制为只读。在极端情况下,我已经看到锁定等待超时和进程队列填满,所有可用连接都已排队或被丢弃。该网站有效地“下降”。

您可以通过分离数据库并安排Web服务器在这些备份窗口期间将站点置于维护模式来减轻这种情况,而对Web服务器的文件系统没有任何影响。


1
安全性使这一切变得轻松,无论是否需要PCI-DSS。与任何敏感数据一样,前端系统和数据库之间应有防火墙。
Nic

0

我想加一分钱,当设计生产环境时,作为经验法则,考虑在不同服务器上安装应用程序和数据库。它会直接或直接带来以下好处:

  • 总体上更好的性能(您的应用程序具有更多资源)
  • 更可靠的系统(一个系统的崩溃或阻塞可能不会影响其他系统。当然,应用程序可能无法按需运行,但一个组件)
  • 根据需要分配专用资源(您可以根据需要将CPU / RAM /存储分配给每个服务器)
  • 更高的安全性(仅在允许您在计算机外部进行数据库连接的情况例外,但是可以通过基于IP地址的防火墙限制或类似方法来缓解这种情况)
  • 必须达到高可用性(HA)
  • 易于满足灾难恢复(DR)需求的系统
  • 在我看来,唯一的缺点是成本更高和要管理的服务器更多。

感谢和Reagrd,伊姆兰·贾维德·齐亚(Imran Javed Zia)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.