Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter Arrowchat和Amazon实例_Codeigniter_Amazon Web Services_Chat_Amazon - Fatal编程技术网

Codeigniter Arrowchat和Amazon实例

Codeigniter Arrowchat和Amazon实例,codeigniter,amazon-web-services,chat,amazon,Codeigniter,Amazon Web Services,Chat,Amazon,我有一个带有codeigniter,mysql的站点,其中安装了arrowchat。 该网站(比如xyz.com)托管在amazon环境中。它具有用于图像上传的S3实现、用于静态文件服务的CDN实现、用于数据库的RDS实现、用于邮件发送的SES实现。计划为站点集成自动缩放。我已经研究了如何在这个场景中实现arrowchat,因为arrowchat有模板和配置文件被缓存,所以我不得不为此在实例之间共享缓存做一些研究。我试过了 a) 。创建了一个S3bucket并将其映射到arrowchat缓存文件

我有一个带有codeignitermysql的站点,其中安装了arrowchat。 该网站(比如xyz.com)托管在amazon环境中。它具有用于图像上传的S3实现、用于静态文件服务的CDN实现、用于数据库的RDS实现、用于邮件发送的SES实现。计划为站点集成自动缩放。我已经研究了如何在这个场景中实现arrowchat,因为arrowchat有模板和配置文件被缓存,所以我不得不为此在实例之间共享缓存做一些研究。我试过了

a) 。创建了一个S3bucket并将其映射到arrowchat缓存文件夹-但它与缓存目录中包含的arrowchat库代码文件不匹配,因此在S3中,我们不能直接将文件包含在arrowchat代码中

b) 。创建了一个子域chat.xyz.com,并在该子域中安装了arrowchat,并在实例中使用它。-它解决了一些跨域代码问题,这些问题通过一些代码修复得到了解决。问题是,我们必须在域和子域中管理相同的代码


请让我知道我列出的方法是否正确。如果没有,请告诉我是否有其他建议。

您需要使用
ElasticCache
并在自动缩放组的所有实例之间共享节点池。如果模板需要处理,则不能直接使用
amazons3
。(特定实例上的php代码必须读取模板,对其进行处理并将其发送回)。 伪代码: 将唯一键与每个模板关联(即数据/模板名称)。 当请求模板时,检查Memcache上是否有这样的密钥。
否则,从
S3
读取它并将其加载到缓存中。一旦进入缓存,所有实例都将能够使用该单个值。

抱歉,但您需要详细说明一下,为什么需要共享缓存?我的意思是,想象你把你的dns设置为路由到你的ELB,在那里你有你的自动缩放机器。如果不共享缓存,最糟糕的情况是什么?是否在每个实例上创建缓存副本?这真的是个问题吗?请详细说明为什么你需要以上帝的名义共享这些缓存文件。