gpt4 book ai didi

database - 为什么不建议将数据库和 Web 服务器放在同一台机器上?

转载 作者:太空狗 更新时间:2023-10-30 01:37:04 26 4
gpt4 key购买 nike

听 Scott Hanselman 对 Stack Overflow 团队的采访(part 12),他坚持认为 SQL 服务器和应用程序服务器应该在不同的机器上。这是否只是为了确保如果一台服务器受到威胁,则两个系统都无法访问?安全问题是否超过了两台服务器的复杂性(额外成本、两者之间的专用网络连接、更多维护等),尤其是对于小型应用程序,其中两台服务器都没有使用过多的 CPU 或内存?即使有两台服务器,其中一台服务器受到威胁,攻击者仍然可以通过删除数据库或破坏应用程序代码来造成严重破坏。

如果性能不是问题,为什么这会如此重要?

最佳答案

  1. 安全。您的 Web 服务器位于 DMZ 中,可通过公共(public)互联网访问并接受来自匿名用户的不受信任的输入。如果您的 Web 服务器受到威胁,并且您在连接到您的数据库时遵循了最低权限规则,那么最大的暴露是您的应用程序可以通过数据库 API 执行的操作。如果中间有一个业务层,那么攻击者和数据之间就多了一步。另一方面,如果您的数据库位于同一台服务器上,则攻击者现在拥有对您的数据和服务器的根访问权限。
  2. 可扩展性。保持你的网络服务器无状态允许你毫不费力地水平扩展你的网络服务器。水平扩展数据库服务器非常困难。
  3. 表现。 2 个盒子 = CPU 的 2 倍,RAM 的 2 倍,以及用于磁盘访问的 spindles 的 2 倍。

综上所述,我当然可以看到这些点都不重要的合理案例。

关于database - 为什么不建议将数据库和 Web 服务器放在同一台机器上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/659970/

26 4 0