【发布时间】:2017-06-12 19:03:27
【问题描述】:
I've been struggling to put SilverStripe behind a load balancer 并且我一直在解决多个与 rsync 实例和使用共享存储有关的问题,并且几乎已经稳定下来,但是我发现了另一个破坏 CMS 的问题。
特别是当您尝试在 TinyMCE 编辑器中的 CMS 中添加链接时,当弹出屏幕显示选择页面/文件时,JavaScript 会引发 tinyMCE.activeEditor 返回 null 的异常。
我已经在两台服务器之间同步了缓存目录silverstripe-cache,但m=timestamp 之间仍然存在差异只有几秒钟,但我猜这足以导致tiny_mce_gzip.php 被强制重新加载。
我有一个用于会话存储的共享 redis 缓存、共享数据库、已同步缓存目录并使用 CodeDeploy 部署应用程序,因此它应该全部同步。还有哪些其他存储区域可能导致不同的m 时间戳?有没有人成功地将 SilverStripe CMS 用于负载均衡器后面而没有粘性会话?
【问题讨论】:
-
AWS 至少提供了一个“粘性会话”配置(我假设其他负载均衡器也这样做),如果其他所有方法都失败了,这对于修复一些问题来说是个问题。它会在每个请求上将相同的用户放在同一台服务器上。不是解决问题的方法,但如果所有其他方法都失败了,可能值得研究。
-
@apokryfos 是的,我过去在负载平衡方面遇到过负载问题,通常会在一台服务器上增加更多负载,这就是我想避免它的原因。
标签: php caching tinymce silverstripe