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