Symfony2单个应用程序+多个数据库 - 处理缓存和日志

时间:2014-11-28 09:27:29

标签: symfony saas

我在Symfony2上运行SaaS应用程序(软件即服务)。该体系结构是连接到许多不同数据库的单个代码库。每个SaaS帐户一个数据库。我有一个额外的数据库,包含SaaS帐户记录,包括他们的数据库凭据。

parameters.yml文件中硬编码的数据库凭据用于存放SaaS帐户记录的数据库。

在页面加载时,我有一个事件监听器,它查看URL的子域部分并查找SaaS数据库中的记录。如果不存在,则抛出异常。如果找到帐户,它将从SaaS数据库记录加载客户端数据库的DB凭据,然后关闭当前的DBAL连接,并为主应用程序数据所在的客户端DB创建一个新的连接。

所有客户端帐户特定的配置都保存在客户端数据库中,并根据需要加载。所以我的YAML配置文件只保存所有SaaS帐户通用的配置。所有帐户使用相同的路由,相同的模板,相同的资产。

我的问题是,在这种情况下,我可以为所有帐户使用相同的缓存和日志位置,还是一个SaaS帐户的缓存会被另一个SaaS帐户污染?

其次,如果每个客户帐户的缓存需要分开,那么为每个帐户指定不同缓存位置的最佳方法是什么?通过环境变量或许?显然,这不能由配置参数定义,因为配置本身是高速缓存的。

由于

0 个答案:

没有答案