可能重复:
您能帮助我进行容量规划吗?
我的问题来自一家初创公司,该公司首次提供 Web 应用程序。它由一个 Oracle 数据库 (11G)、一个 Apache Web 服务器和一个小型 Java 中间层组成,连接到客户端的前端。用户请求查看数据,服务器上的应用程序从数据库检索数据,进行数学运算(c 和 java 程序),然后将结果返回给用户。
服务器执行的数学运算可能会使用大型数组,这些数组可能会占用 1 到 6 GB 的 RAM(最佳到最坏情况)。服务器会按顺序处理每个用户的请求(用于数学运算),以允许一个用户在最坏情况下使用 RAM。
目前我有一台专用服务器,计划将所有内容都放在上面,内存为 8 GB。将 Web 服务器与数据库放在一起存在安全风险,是否值得不惜一切代价避免这种情况?
该服务目前正在开发中,因此还没有历史数据。将 Web 服务器/数据库/应用程序划分为多个服务器的好方法是什么?有什么经验法则或传统智慧吗?试图将所有东西都放在一台服务器上是否不现实?如果我有第二台服务器,它会放在哪里?VPS 是否是放置 Web 服务器的好地方,而且价格便宜,并且随着业务的增长而扩展?
答案1
这实际上取决于您的系统将处理的请求数量。扩展此解决方案在很大程度上取决于您的应用程序的体系结构。Oracle 本身是一个非常庞大的资源贩子,因此分离数据库似乎是合乎逻辑的第一步。如果 Apache Web 服务器的唯一目的是处理 Web 请求,则可以稍后将其与中间层分离。
是否使用 VPS 又取决于您尝试提供的解决方案。如果没有关于应用程序架构的更多详细信息,大多数建议都是无稽之谈。
答案2
让我尝试按以下顺序解答您的问题:
将 Web 服务器/数据库/应用程序划分为多个服务器的好方法是什么?-> 由于这里没有太多数据(关于流量、请求数量),但如果您的应用程序最多可消耗 6GB 的 RAM,那么您最好将所有功能分离在不同的服务器(虚拟或物理)上。
有什么经验法则或传统智慧吗?-> 对于安全偏执者来说,传统智慧是为 Web 服务器(最好在 DMZ 中)和 Oracle 服务器设置单独的网络。
尝试将所有东西都放在一台服务器上是否不现实?-> 不现实。如果您不太担心安全性,可以从这里开始。
如果我有第二台服务器,它会去哪里?-> 我会说数据库。
VPS 是否是放置 Web 服务器的好地方,并且价格便宜,并且随着业务的增长可以扩大规模?-> 我将从小处着手,确保在需要时以及随着更多数据可用时基础设施可用。