【问题标题】:what's the effective way of managing session data in java clustering environment?java集群环境中管理会话数据的有效方法是什么?
【发布时间】:2012-03-01 14:45:09
【问题描述】:

假设我们有一个访问量很高的互联网网站,比如每天 1000 万 pv,

说,

  1. 会话粘滞不能很好地处理故障转移,用户会受到影响;
  2. 会话复制可能会导致过多的开销,
  3. 使用一些集群缓存服务器来存储实际的会话数据,并且只为键(比如 useid)之类的东西进行会话复制?

我曾经在 ebay 上问过某人,他们说他们为此使用内存中的 mysql 集群。 有什么好的方法/最佳实践吗?

【问题讨论】:

  • 一个 MySQL 数据库每秒可以处理 100 多个更新/查询。一天中最忙的那一秒的 PV 率是多少?
  • 这不是cluster-analysis。请加倍小心标记。
  • @PeterLawrey 我还没有商业费率数据,我们假设它应该每天有 1000 万 pv
  • 你的意思是每秒大约 12 个?
  • @PeterLawrey 好吧,因为它肯定不是平均分布,我还没有数据,但我希望它应该至少每秒处理 1000 个动态请求,如果可能的话

标签: java session failovercluster


【解决方案1】:

好吧,因为它肯定不是平均分布,所以我还没有数据,但我希望它应该至少每秒处理 1000 个动态请求,如果可能的话

可能会有这么多活动的爆发,这就是我问的原因。解决方案会有所不同,具体取决于您认为爆发是什么。如果你有一个快速磁盘(缓存的磁盘控制器或 SSD),你可以支持每秒 1K 的更新

顺便说一句:我有一个数据库库,它支持在商品硬件上每秒进行 200K - 20M 更新,但它并不容易使用,所以你真的需要它。 ;)

【讨论】:

  • 非常感谢。看起来在内存中mysql会被主要考虑。
  • 基本上是因为它易于使用/理解。我会创建一个抽象层,以便您将来可以根据需要替换数据库。
【解决方案2】:

内存集群是最好的选择,见

http://www.mysql.com/products/cluster/features.html

【讨论】:

  • 谢谢再次提及,有人将其与上面的兵马俑解决方案进行比较吗?
【解决方案3】:

您可以尝试使用 Terracotta Websessions

【讨论】:

  • 有人将它与内存中的 mysql 集群进行比较吗?
猜你喜欢
  • 2012-04-09
  • 2010-09-18
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 2013-10-26
  • 2015-06-05
  • 1970-01-01
  • 2016-12-25
相关资源
最近更新 更多