Codeigniter会话和分片

时间:2012-12-28 17:15:11

标签: php codeigniter session sharding

我们在正在分片的应用中使用Codeigniter。这涉及跨用户ID拆分数据库。分片数据库中有两种表 - 一种是按用户ID分片,因此数据均匀分布在多个分片上,而全局分布在所有分片中的数据。我们当然也是负载平衡的,所以使用默认的php会话不起作用。

我们喜欢CI会话数据库,因为它的安全性,但我们不能对它进行分片,我们将会非常重视该表,并且它将在所有分片中疯狂地来回复制。这不是一个好的情况。我们的负载测试表明ci_sessions表已经是一个痛点。

我们有几种处理它的策略。一,因为我们正在使用推进器进行ORM,我们可以轻松地将使用CI的数据库访问层的ci_sessions分离到它自己的数据库中。如有必要,我们甚至可以对那个进行分片。

我想知道人们会建议还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

如何不使用db session或html5 session / local Storage? :)

或使用Cookie设置自定义变量或ID或域路径?

无论如何,它取决于每个用户需要多少会话/ cookie大小,确保db将保证更多空间和更好的安全性。

无论如何我喜欢mongodb:D https://github.com/sepehr/ci-mongodb-session