当前有一个较大型的Web应用,用户量在70万,并发数大约为80~100,同时在线数大约为5000~10000
目前设计的session机制描述如下
1-采用生成的jsessionid作为key,以及和一个时间戳保存于当前应用的内存中的hashtable,相关的session数据同样以此jsessionid为key,以树的形式保存。所有数据同时保存一份在数据库中,作为负载均衡使用(有4个应用服务器)
2-每执行一次交易,则更新时间戳,设置其为当前时间加上超时时间
3-每个应用都有线程扫描所有时间戳,将超时的session及数据清除
3-交易时,当前内存无法找到sessionid则在数据库中寻找,并复制数据库中的数据到内存
4-数据库中sessionid与客户号要作为单点登陆的依据