![webapp + db + memcached 的服务器结构](https://linux22.com/image/554554/webapp%20%2B%20db%20%2B%20memcached%20%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BB%93%E6%9E%84.png)
我一直在检查,但仍然对如何进行存在疑问,这就是我添加这个问题的原因。
我想将一些用 Play Framework 编写的小型(使用率很低)应用程序部署到我的服务器。堆栈将是:nginx + play 框架服务器(一个 epr 应用程序)+ mysql + memcached
虽然每个应用程序的使用率都很低,但有多个应用程序(因此使用率会累积起来),并且我们的想法是在接下来的几个月内添加更多应用程序。
Memcache 不应存储太多对象,因为大多数情况下用户看到的内容都不是个性化的(因此少量对象就可以服务于很多用户)
您会推荐什么以及为什么: - 所有内容都放在一个 vps 盒中 - 1 个 vps 盒用于 nginx + play 服务器 + mysql,另一个(较小的)用于 memcache - 1 个盒用于 nginx + play,1 个用于 mysql,1 个用于 memcache - 另一个
需要注意的是,优化预算是相关的,但如果收益显著,我并不介意在一个(相对便宜的)额外盒子上花额外的钱。
答案1
这完全取决于您的低使用率应用程序到底有多“低使用率”,每个应用程序在静止时将占用多少资源,以及您想要获得多大的盒子。
我倾向于将所有内容都放在一个盒子里,但要确保所有内容都适当松散耦合,以便当需求增加或您意识到自己低估了所需资源量时,可以轻松分离服务(所有内容的服务 CNAME,诸如此类)。