什么';java集群环境中管理会话数据的有效方法是什么?

什么';java集群环境中管理会话数据的有效方法是什么?,java,session,failovercluster,Java,Session,Failovercluster,假设我们有一个访问量高的互联网网站,比如说每天1000万pv 说 session sticky无法很好地处理故障转移,会影响用户 会话复制可能会导致过多的开销 使用一些集群缓存服务器来存储实际的会话数据,并且只对密钥(比如useid)之类的内容执行会话复制 我曾经问过ebay上的某个人,他们说他们使用内存中的mysql集群来实现这一点。 有什么好方法/最佳实践吗?内存集群是最佳选择,请参阅 您可以尝试使用Terracotta Websessions 好吧,因为它肯定不是平均分布,我还没有

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

  • session sticky无法很好地处理故障转移,会影响用户
  • 会话复制可能会导致过多的开销
  • 使用一些集群缓存服务器来存储实际的会话数据,并且只对密钥(比如useid)之类的内容执行会话复制
  • 我曾经问过ebay上的某个人,他们说他们使用内存中的mysql集群来实现这一点。
    有什么好方法/最佳实践吗?

    内存集群是最佳选择,请参阅


    您可以尝试使用Terracotta Websessions

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

    有可能有这么多的活动爆发,这就是为什么我问。根据您认为爆炸是什么,解决方案是不同的。使用MySQL,您可以支持每秒1K的更新,前提是您有一个快速磁盘(缓存的磁盘控制器或SSD)


    顺便说一句:我有一个数据库库,它支持商品硬件上每秒20万到20万次的更新,但它不那么容易使用,所以你真的需要它

    thx再次提到这一点,有人将其与上面的terracotta解决方案进行比较吗?有人将其与内存中的mysql集群进行比较吗?mysql数据库每秒可以处理100多个更新/查询。一天中最忙的那一秒的PV率是多少?这不是。请小心标记。@PeterLawrey我还没有业务速率数据,我们假设它每天应该有1000万pv,那么你的意思是大约每秒12 pv吗?@PeterLawrey好吧,因为它肯定不是平均分布,我还没有数据,但我希望它至少每秒处理1000个动态请求,如果可能的话。看起来主要考虑内存中的mysql。基本上是因为它易于使用/理解。我将创建一个抽象层,以便将来在需要时替换数据库。