当数据库本身分布在多个服务器上时,数据库如何在web应用程序中维护会话?如何在自定义数据库中实现此类功能?
最佳答案
简而言之,Riak的一些关键属性使得它可以简单地分类:
关键/价值数据模型
常数散列函数
独立于物理服务器的数据分区
使用Riak进行会话存储的web应用程序将提供与会话对应的密钥,例如通过cookies传递的会话ID或用户ID。群集中的任何服务器都可以获取该密钥,应用SHA-1哈希函数,并确定哪些数据分区[*]应具有该密钥,然后将请求路由到当前具有这些数据分区的物理服务器。
当成员身份更改时,集群使用gossip来跟踪谁拥有哪些分区。
[*]为了提供可用性,所有单独数据片段的副本都存储在多个分区上
关于mysql - 分布在多个服务器上的数据库如何维护与Web应用程序的 session ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20571684/