【发布时间】:2014-01-15 21:47:18
【问题描述】:
目前云正在疯狂地涌现,人们开始将一切都部署到云中,包括 CMS 系统,但到目前为止,我还没有看到有人成功地将流行的 CMS 系统部署到云中的负载平衡集群。一些性能障碍似乎阻止了标准的开源 CMS 系统像这样部署到云中。
CLOUD:云,负载平衡更好的集群,至少有一个前端服务器,一个网络连接(!)数据库服务器和一个云存储服务器。这非常适合 Amazon Beanstalk 和 Google Appengine。 (这特别排除了单个计算机上的 CMS 或 Linux 服务器上的 MySQL 在同一个“CPU”上。)
要在这样的负载平衡集群中部署标准 CMS,需要具有以下特性的云就绪 CMS:
- CMS 必须处理查询延迟,才能在不到一秒的时间内响应并呈现页面以进行缓存(或使用预缓存策略)
- 文件系统可能必须连接到远程存储(Amazon S3、Google 云存储等)
目前我知道 python/django 和 Wordpress 具有可以连接到云存储而不是文件系统的中间件模块或插件,但可能还有其他云就绪 CMS 实现(Java、PHP、?)和系统。
我自己未能将 django-CMS 部署到云端,最后是由于远程数据库的查询延迟。所以这是我的问题:
您是否部署了在呈现页面和后端管理方面仍然表现良好的开源 CMS?请以微秒为单位发布未缓存页面的平均页面呈现访问统计信息。
重要提示:请描述您的配置,您遇到的问题,在 CMS 中必须优化哪些模块才能使其工作,不要发布简单的“这个工作”,贡献您的经验和知识。
这样的 CMS 可能每页必须进行少于 10 次查询,如果更多,则必须并行进行查询,并处理 100 毫秒的文件系统访问时间和 40 毫秒的查询延迟。
相关:
【问题讨论】:
-
我有点困惑...CMS 系统主要依赖于数据库...如果您已经拥有一个现场数据库,您使用云存储做什么?
-
云存储存储二进制文件、图像、视频 (en.wikipedia.org/wiki/Cloud_storage) CMS 通常存储在数据库之外的 Linux 文件系统上的任何内容。云存储通常可以配置为将内容作为静态网站提供,无需 CMS 干预。
-
我认为 AppEngine(因为你在这里问)对于 CMS 工作负载没有竞争力,因为 Datastore 是为大量小记录而设计的,而 Content 通常是少量较大的文档。存储文档的最佳性价比选项是文件系统,而 AppEngine 和其他云平台必须拒绝 Web 应用程序文件系统访问。只有 AppEngine 中的 Blobstore 可以存储文件,但这是一个没有文件夹、权限等的键值结构。总之,AppEngine等云平台的功能集不够适合CMS使用。
-
Martin,您必须更新有关 cloudstore 及其应用引擎集成的知识。 Google CloudStore 是 Appengine 的一种文件系统,也是一个静态网站。 Appengine 也可以使用 CloudSQL 而不是 Datastore。这就是我们安装 django-CMS 的方式(参见:stackoverflow.com/questions/21137634/…)它只是表现不佳,因为渲染一个页面需要 40 个查询需要 2 秒。这就像在拥有 10 年历史的硬件上运行当前的 CMS,具有巨大的硬盘。
-
你无法超越物理定律,而遥远的数据库是“慢”的秘诀。您也不能在这里随意重新定义“云”,并且指定文件系统位于 Amazon S3 或 Google Cloud Storage 中是特别不合理的,因为这些服务之间存在显着的阻抗不匹配......文件系统是。这些是错误的工具,因此,当您使用它们代替更合适的工具时,它们就不能很好地工作。围绕“有人知道...”的购物清单问题不在 Stack Overflow 的主题范围内。
标签: google-app-engine azure amazon-web-services content-management-system