同步解决方案的比较
在集群中 session 安全和同步是个最大的问题,下面是我收集到的几种 session 同步的方
案,希望能通过分析其各自的优劣找出其适应的场景。
1. 客户端 cookie 加密
这是我以前采用的方式,简单,高效。比较好的方法是自己采用 cookie 机制来实现一个
session,在应用中使用此 session 实现。
问题:session 中数据不能太多,最好只有个用户 id。
参考实现:http://rollerweblogger.org/
2. application server 的 session 复制
可能大部分应用服务器都提供了 session 复制的功能来实现集群,tomcat,jboss,was 都
提供了这样的功能。
问题:
性能随着服务器增加急剧下降,而且容易引起广播风暴;
session 数据需要序列化,影响性能。
如何序列化,可以参考 对象的序列化和反序列化.
参考资料:
Tomcat 5
集群指南
3. 使用数据库保存 session
使用数据库来保存 session,就算服务器宕机了也没事,session 照样在。
问题:
程序需要定制;
每次请求都进行数据库读写开销不小(使用内存数据库可以提高性能,宕机就会丢失数据。
可供选择的内存数据库有 BerkeleyDB,Mysql 的内存表);
评论1
最新资源